35
Microsoft Introduction au développement SharePoint – Atelier 1 Coach Sharepoint 2007 < Atelier 1 /> Découvrir le système SharePoint Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 1 sur 35

download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

Coach Sharepoint 2007

< Atelier 1 />Découvrir le système SharePoint

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 1 sur 27

Page 2: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

Sommaire

1 INTRODUCTION......................................................................................................................................................3

1.1 CONTEXTE FONCTIONNEL........................................................................................................................31.2 CONTEXTE TECHNIQUE............................................................................................................................4

2 PROFIL D’UN DÉVELOPPEUR SHAREPOINT.................................................................................................6

2.1 LE DÉVELOPPEUR FACE À LA TECHNOLOGIE SHAREPOINT :....................................................................62.2 MONTER UN ENVIRONNEMENT DE DÉVELOPPEMENT...............................................................................72.1 LOGICIELS NÉCESSAIRES POUR LE DÉVELOPPEMENT SHAREPOINT.........................................................9

3 FONCTIONNEMENT ET CONCEPTION INTRINSÈQUE DE SHAREPOINT 2007 :................................11

3.1 DIFFÉRENCE DE CONCEPTION AVEC WSS V2........................................................................................113.2 RELATION AVEC LE FRAMEWORK .NET................................................................................................123.3 DU PORTAIL À L’USINE À SITE...............................................................................................................13

4 ARCHITECTURE ET GLOSSAIRE.....................................................................................................................16

4.1 DÉCOUVERTE DE L’ARCHITECTURE TECHNIQUE ET LOGIQUE DE SHAREPOINT 2007............................164.1.1 Niveau gestion.................................................................................................................. 174.1.2 Niveau application.............................................................................................................17

4.2 BASE DE CONCEPTION............................................................................................................................184.3 LES CHIFFRES CLÉS................................................................................................................................19

5 REVUE DU RÉPERTOIRE SYSTÈME DE SHAREPOINT..............................................................................21

5.1 SPÉCIFICITÉ DU RÉPERTOIRE 12.............................................................................................................215.2 IDENTIFICATION DES DIFFÉRENTS RÉPERTOIRES....................................................................................215.3 PRÉPARATION D’UNE SOLUTION DE DÉVELOPPEMENT...........................................................................24

6 POUR ALLER PLUS LOIN…................................................................................................................................26

7 RENDEZ-VOUS DANS LE PROCHAIN ATELIER….......................................................................................27

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 2 sur 27

Page 3: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

1 IntroductionCet atelier s’inscrit dans le cadre du tutoriel de découverte du développement avec la technologie SharePoint 2007. L’objectif est la réalisation d’un modèle de site entièrement personnalisé avec la méthodologie expliquée pas à pas.

Les exercices de l’atelier 1 présentent le fonctionnement de base de SharePoint à travers la découverte de son répertoire système, ses modèles de génération et son site web inhérent. Vous pourrez ainsi mieux appréhender le fonctionnement des sites SharePoint et son moteur de génération de site.

1.1 Contexte fonctionnel

Rappel du contexte fonctionnel du Tutoriel de découverte d’ASP.NET 2.0L’objectif du tutoriel est de construire pas à pas un site personnalisé SharePoint incluant les grands axes de développement SharePoint tels que :

Création d’un modèle de site avec son design et sa charte graphique Ajout de fonctionnalités déclaratives par les « Features ». Ajout de fonctionnalités associées avec des événements de code .NET Composants WebPart Son Packaging et Déploiement complet

Contexte fonctionnel de l’atelier 1 dans le cadre du Tutoriel

L’objectif est de découvrir le fonctionnement réel et la construction d’une solution de développement sous SharePoint 2007.

Il s’agit dans un premier temps de comprendre les rouages et subtilités de cette plateforme afin de mieux cerner les différences et les points communs avec un développement ASP.NET plus classique.

Nous allons donc commencer par la revue du répertoire système de SharePoint, son fonctionnement de base ainsi que des bases d’architecture pour la suite du tutoriel.

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 3 sur 27

Page 4: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

Soit les axes couverts :

1. Profil d’un développeur SharePoint Compétence et technologie nécessaire Mise en place d’une machine de développement

2. Fonctionnement et conception intrinsèque de SharePoint 2007 : Différence de conception avec WSS V2 Relation avec le Framework .NET Du portail à l’usine à site

3. Architecture et glossaire Découverte de l’architecture technique et logique de SharePoint 2007 Base de conception Les chiffres clés

4. Revue du répertoire système de SharePoint Spécificité de ce répertoire Identification des différents répertoires Préparation d’une solution de développement

1.2 Contexte technique

La technologie SharePoint 2007 est souvent associée au rôle de portail et d’espace collaboratif. En fait, c’est une vue extrêmement restreinte du potentiel de celle-ci.

D’un point de vue fonctionnel, SharePoint 2007 permet de créer des espaces de gestion d’information pour tout type de population d’utilisateurs, du simple partage de document en passant par un Wiki aux indicateurs d’un contrôleur financier.

D’un point de vue technique, SharePoint 2007 joue un triple rôle :

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 4 sur 27

Page 5: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

1. C’est un produit packagé pour la gestion d’informations avec des modèles de fonctionnement natif

2. C’est aussi un serveur et un framework applicatif pouvant héberger, maintenir et faciliter la création de vos applications métiers

3. C’est aussi une « usine à site » basée sur les principes d’un générateur de site web et de modèle métier

A la fin de cet atelier, vous saurez comment :

Définir la technologie SharePoint Analyser et comprendre les modèles existants Préparer la conception d’un projet SharePoint Monter les bases d’une solution de développement SharePoint

Cet atelier se base sur l’utilisation de la technologie SharePoint 2007 via son offre de base Windows SharePoint Services V3 (WSS).

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 5 sur 27

Page 6: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

2 Profil d’un développeur SharePointDans cet exercice, vous allez découvrir :

- Les différentes compétences de base pour le développement SharePoint.- Monter un environnement de développement.

ObjectifL’objectif de ce chapitre est de vous permettre de mieux situer le travail d’un développeur SharePoint, les différentes compétences en jeu ainsi que son espace de travail.

Contexte fonctionnel

SharePoint 2007 est avant tout un produit Microsoft de l’ère .NET. Vous n’êtes pas fondamentalement perdu dans celui-ci vu que ces bases reposent profondément et définitivement sur ASP.NET.

Cependant, SharePoint 2007 (SP pour les intimes ) est aussi bien un produit qu’une technologie. Ce qui sous-entend un périmètre fonctionnel bien défini et une méthodologie de travail associée.

Tout développement SharePoint est bien souvent en rapport direct avec les métiers ainsi que les couches de bases de celui-ci. Quand nous parlerons de développement pour SharePoint, il s’agira donc d’étendre le périmètre de celui-ci, d’ajouter de nouvelles fonctionnalités ou de s’appuyer sur ces bases pour construire son application.

2.1 Le développeur face à la technologie SharePoint :

Il n’y a pas fondamentalement de différence entre un développeur ASP.NET et un développeur SharePoint. En effet, le produit en version 3 a été entièrement réécrit avec le Framework ASP.NET

SharePoint 2007 a subi une profonde réécriture de son code afin de le rapprocher au plus prés du framework ASP.NET. Il peut ainsi profiter directement de toutes les évolutions des équipes ASP.NET et reste donc prêt à toutes les innovations du monde Web 2.0

Ainsi, il est très important de bien comprendre les bases de l’ASP.NET avant de vouloir découvrir les arcanes de SharePoint 2007. Sinon le gap technologique risque d’être plus complexe. Un détail rapide donnerait :

Langages de développement .NET ASP.NET 2.0

o Page ASPX, Master Pages, Web Parts, User Control, Provider de données Pour aller plus loin encore

o Windows Workflowso AJAX o Silverlight

L’idéal serait de suivre dans un premier temps les ateliers du Coach ASP.NET que vous trouverez sur l’adresse suivante :Coach ASP.NET http://msdn.microsoft.com/fr-fr/asp.net/bb330941.aspxCoach C# : http://msdn.microsoft.com/fr-fr/vcsharp/bb409645.aspxCoach VB.NET : http://msdn.microsoft.com/fr-fr/vbasic/bb265238.aspx

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 6 sur 27

Page 7: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

Un développeur SharePoint est aussi un utilisateur SharePoint. L’idéal étant d’avoir même les bases d’administration de la plateforme. En effet, comme le développement sera positionné sur l’extensibilité et la réutilisation de la plateforme SP, il vaut mieux savoir cela avant de l’utiliser et de la comprendre, qu’il s’agisse des opérations de :

o Création de site et de liste SharePointo L’ajout et l’édition des permissions des utilisateurso La gestion du contenu dans une bibliothèque de documento La recherche avec critères avancés

Chaque plateforme métier a forcement des spécificités. SharePoint ne dérogent pas à la règle et s’accompagne de méthodologies et d’une architecture tout à fait spécifiques. Celle-ci est loin d’être complexe mais elle doit être bien connue. Elle sera présentée justement dans ce tutoriel un peu plus loin. En terme de spécificité, de nouvelles API pro SharePoint vont faire leur apparition ainsi que les Web Services associés tout comme un nouveau langage de description CAML.

Le modèle objet de SharePoint est assez riche mais calque complètement l’architecture logique, ce qui simplifie grandement son apprentissage. Remarque supplémentaire, 90% des actions du modèle objet sont disponibles via les Web Services Natif de la plateforme.

Qu’est ce que le langage CAML ?CAML = Collaborative Application Markup LanguageC’est en fait un schéma XML utilisé surtout dans la technologie SharePoint. Elle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse d’un simple site, d’une liste, d’une fonctionnalité et même des vues de données. En développement, la sous-partie dédiée au filtre est très souvent utilisée pour pouvoir requêter des jeux de données précis.

2.2 Monter un environnement de développement.

SharePoint 2007 est une plateforme serveur avec une architecture technique dédiée : Un service web reposant sur IIS et ASP.NET Un service métier (moteur de job, moteur de recherche, Excel services,…) Un service de stockage reposant sur SQL Serveur

Actuellement, il n’est possible de l’installer sur une machine de type client comme sous Windows XP ou VISTA. SharePoint 2007 ne fonctionne que sur une plateforme Windows Serveur. Une seule machine peut cependant supporter les 3 services.

Un serveur SharePoint supportant les 3 services de bases est appelé single Farm ou ferme mono machine. Elle peut aussi utiliser SQL Server Express ou Embedded au lieu d’une version SQL Serveur complète.

2 scénarios sont ainsi envisageables :

1. Environnent de développement « Distant »

Une ferme SharePoint est déployée sur le réseau pour servir de serveur de développement central. Chaque Développeur travaille sur son OS Client et teste en déployant sur le serveur Central.

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 7 sur 27

Page 8: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

Avantage : Pas d’installation particulière à faire sur les machines de développement. Un simple

ordinateur avec Visual Studio suffit. Le code et les tests sont centralisés, pas de démarche particulière

Inconvénient : Comme le code ne peut s’exécuter que sur un serveur SharePoint, tous les livrables doivent

être déployés sur celui-ci. Cette charge de travail peut être lourde et complexe entre les composants DLL en GAC et les fichiers Web à maintenir lors de tous déploiement et tests.

La mise en place du « Remote Debugging » peut être hasardeuse du fait de la problématique de droit, d’accès réseau et de la couche spécifique à débugger

2. Environnent de développement « Distant »

Chaque développeur travaille directement depuis un serveur SharePoint personnel. Il possède ainsi sa propre instance serveur et son outil développement. Le code est réalisé et testé en local puis est revu sur un serveur tiers pour les tests globaux.

Il existe plusieurs méthodes pour pouvoir travailler sur une machine serveur depuis votre poste local. A vous de choisir selon vos normes internes de travail. Soit :

En machine virtuelle locale avec Virtual PC par exemple En bureau distant sur un serveur tiers sur Virtual Serveur Un double boot de votre machine : un client et un autre serveur

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 8 sur 27

Page 9: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

Avantage : Comme tous les services et composants sont en local, les opérations de déploiement et de

tests sont grandement facilités et bien plus rapide. Aucun risque de bloquer le serveur lors de debugging mutualisé Vous possédez votre propre environnement de développement et donc adapté à vos propres

projets

Inconvénient : Ce mode de travail demande plus de discipline du fait que vous ne travaillez pas directement

depuis votre poste. Pour pouvoir émuler un serveur SharePoint, il vaut mieux prévoir des machines plutôt

puissantes par rapport aux machines classiques. Nécessite d’un bon outil de versionning de source pour fédérer les différents postes

En pratique et par expérience, il est largement conseillé de travailler depuis une machine virtuelle. Travailler depuis un environnement dédié et personnel apporte un gain de productivité vraiment non négligeable. Vous pouvez ainsi coder, déployer par simple copie et lancer un débbuging bien plus rapidement et régulièrement. Le tout sur un site SharePoint spécifique à votre projet ou votre développement.

Afin de faciliter la gestion de plusieurs versions de votre machines virtuelles, l’utilisation de la technique de disques de différence est incontournable. Vous créez d’abord une machine VPC contenant SharePoint 2007 et Visual Studio, et ensuite, vous l’utilisez comme base de vos disques différenciés : un par projet ou client par exemple. D’où gain de place et de temps de créationhttp://support.microsoft.com/kb/825092/fr

2.1 Logiciels nécessaires pour le développement SharePoint

Il n’y a pas vraiment de logiciels spécifiques pour faire de développement SharePoint, il s’agit avant tout de simple développement ASP.NET.

Il vous suffit donc de déployez Visual Studio sur une machine virtuelle SharePoint. A noter que pour utiliser le Framework 3.5 et Visual Studio 2008 avec SharePoint, le déploiement du Service Pack 1 est obligatoire.

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 9 sur 27

Page 10: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

Microsoft a mis en ligne une suite d’extension pour Visual Studio : VSeWSS (Visual Studio 2005 extensions for Windows SharePoint Services 3.0). Elle permet d’utiliser dans Visual Studio un ensemble de modèle dédié ainsi qu’une vue de déploiement spécifique à la technologie SharePoint.Elle contient aussi un outil de « reverse engineering » (ou rétro conception en français) pouvant générer un modèle de site ou de liste depuis un existant

http://www.microsoft.com/downloads/details.aspx?FamilyId=A8A4E775-074D-4451-BE39-459921F79787&displaylang=en

A noter que la communauté SharePoint sur Codeplex est aussi très active et possède quelques outils tout aussi pratiques qu’il est bon de connaitre. Je ne saurais cependant trop vous conseiller de les évaluer avant de les utiliser mais ce serait une erreur de les ignorer

WSPBuilder : http://www.codeplex.com/wspbuilder STSDev : http://www.codeplex.com/stsdev SPDevMod : http://www.codeplex.com/SPDevMod

Note :

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 10 sur 27

Page 11: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

3 Fonctionnement et conception intrinsèque de SharePoint 2007 :

3.1 Différence de conception avec WSS V2

Si SharePoint 2003 était une application .NET, elle n’était pas autant vraiment intégrée avec le framework ASP.NET. En effet, sa conception technique reposait sur un filtre ISAPI. Il interceptait toutes les demandes http pour les rediriger vers un parseur SharePoint spécifique qui, lui, utilisait le moteur de rendu d’ASP.NET.

Technologie SharePoint 2003

Il était très difficile de pouvoir exploiter ASP.NET dans son ensemble. Les HttpModules étaient par exemple impossibles à déployer. Le développement n’en était que plus complexe et le nombre de solutions techniques plus restreint.

SharePoint 2007 a marqué un changement fondamental d’architecture. Si la base fonctionnelle a été gardée (et bien sûr enrichie) et la compatibilité ascendante du code conservée, ce ne fut pas le cas de son architecture technique

Technologie SharePoint 2007

Elle a été entièrement réécrite pour pouvoir profiter au mieux des forces du framework ASP.NET 2.0. Plus de filtre ISAPI mais une intégration des plus fines du moteur ASP.NET. SharePoint 2007 a été construit directement à base d’ASP.NET, ainsi les couches fondamentales de son système reposent sur le framework .NET et bénéficient donc de sa robustesse et aussi de son évolution à court et long terme ; qu’il s’agisse d’AJAX, de Silverlight, WCF et LINQ.

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 11 sur 27

Page 12: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

Un exemple simple, les fameuses WebParts SharePoint sont désormais de simple contrôles WebPart ASP.NET 2.0 comme le prouve le namespace System.Web.UI.WebControls.WebParts.WebPart

3.2 Relation avec le Framework .NET

Désormais, un site SharePoint exploite et consomme sans restriction l’ensemble des contrôles et outils si pratique du nouveau framework Web, qu’il s’agisse :

des Master Pages des Web Parts des SiteMap Provider le système de cache des Memberships …

Le développement SharePoint en est que plus aisé car simplement plus proche du monde bien connu du développeur ASP.NET

L’utilisation des Memberships ASP.NET est une petite révolution en soi. En effet, SharePoint 2007 utilisant cette couche de sécurité pour gérer l’identification de ses utilisateurs, vous pouvez donc configurer votre application SharePoint pour utiliser AD, SQL, LDAP ou tout autre Membership personnalisé sur la source de donnée de votre choix pour son identification.

Il faut cependant bien positionner techniquement le rôle du framework SharePoint avec le framework ASP.NET. Il l’utilise et l’étend tout à la fois.

SharePoint a été construit sur les fondamentaux d’ASP.NET mais il le complète aussi via l’ajout de nouveaux services et composants. Ces ajouts sont surtout ciblés sur la notion de cycle de vie et de maintenance de site Web.

Il s’agit d’un ensemble de fonctionnalités de haut niveau accélérant la création et la gestion de site Intranet.

D’ailleurs, Microsoft Office SharePoint Server (MOSS) est une des premières offres profitant du framework SharePoint. MOSS a ainsi bien été développé à base de technologie SharePoint et d’ASP.NET

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 12 sur 27

Page 13: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

Développer un site en technologie SharePoint, revient souvent à un savant mélange entre réutilisation de ces briques fondamentales comme le stockage documentaire, la gestion d’identification et l’interface homme machine profilé et l’ajout de composant comme une WebPart d’affichage de reporting ou la consommation de Web service métier. Le back office SharePoint étant aussi exposé via un ensemble de Web Service, une réflexion SaaS est tout à fait possible et largement recommandée.

3.3 Du portail à l’usine à site

Une bonne définition de SharePoint, techniquement parlant serait « usine à créer des sites ». Si ASP.NET permet de réaliser un site web dynamique, SharePoint 2007 permet de créer et maintenir des centaines et des milliers de sites web dynamiques, tous basés sur des modèles réutilisables.

En effet, l’un des points faibles de la technologie ASP.NET est de pouvoir facilement maintenir une application lorsqu’elle a été dupliquée plusieurs fois. Comment pratiquement, pouvoir personnaliser et faire évoluer un site ASP.NET, sous entendu, ses composants, ses pages web, sa base de donnée quand il existe plus de 10 copies de celle-ci en production.

Sous-entendu, comment passer d’une seule application…

… à la gestion d’une multitude ?

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 13 sur 27

Page 14: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

Vf

Comme vous pouvez le constater, la tache risque bien d’être complexe. Voir hasardeuse.

La technologie vient répondre à cette problématique en se basant sur 2 principes de bases : Un moteur de génération de site basé sur des modèles Un framework de base gérant la maintenance du site (de l’administration de la sécurité à son

backup)

Evidemment, la technologie SharePoint n’est pas forcément appropriée pour la création d’un seul site mais plutôt pour de larges sites communiquant ou de grands espaces de gestion de projet voire des une multitude de sites de collaboration.

Un site SharePoint est plus pratiquement, la génération virtuelle d’un modèle de site selon ses paramètres de configuration stockés dans la base de données de configuration de la ferme.

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 14 sur 27

Page 15: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

Le changement de conception et d’architecture est clair : Le développeur conçoit des modèles de site SharePoint avec plus ou moins de nouvelles

fonctionnalités Le gestionnaire IT les déploie sur la ferme de production via les packages SharePoint

(solutions WSP) Le responsable de contenu peut créer autant d’instance des modèles et les personnaliser en

fonction de ses droits.

Maintenir le site SharePoint revient à simplement maintenir son modèle et ses fonctionnalités, laissant le cycle de vie et sa maintenance ainsi que son exploitation aux équipes projets et réseau.

Note :

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 15 sur 27

Page 16: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

4 Architecture et glossaire

4.1 Découverte de l’architecture technique et logique de SharePoint 2007

Il est très important d’avoir une vision claire de l’architecture logique de la plateforme SharePoint 2007. Elle est à la base de toute conception ou architecture technique d’un projet SharePoint

L’architecture logique correspond aux divers niveaux composant le fonctionnement d’un logiciel. Elle permet de définir les axes de fonctionnement d’une application en se basant sur les briques de la solution sous-jacente

Dans le cas de la technologie SharePoint, l’architecture logique est loin d’être complexe ; chaque niveau correspond directement à une classe du modèle objet.

A vrai dire, la hiérarchie de classe et l’architecture logique sont même similaires dans leur dépendance hiérarchique. Dés lors, l’architecture logique devient un peu votre boussole personnelle

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 16 sur 27

Page 17: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

dans le modèle objet SharePoint. Si vous savez vous positionner dans celle-ci face à votre espace SharePoint, vous pouvez en déduire automatiquement la classe équivalente.

La hiérarchie, comme le montre le schéma précédent, se divise en 2 niveaux :

4.1.1 Niveau gestion

Une ferme SharePoint est composé au minimum de serveur Web et de base de données.

Il existe 3 types de base de données spécifiques :

a) La base de configuration

C’est une base unique qui permet à la ferme de stocker l’ensemble des informations définissant la ferme SharePoint. Autrement appelé « DB_Config », elle est le cœur même de la ferme vu qu’elle définit aussi le rôle et le fonctionnement de chaque serveur inscrit

b) les bases de contenu

Les bases de contenus sont liées aux sites Web SharePoint configurés dans IIS. Ce sont elles qui gèrent le stockage de toutes les données (documents, sous site et éléments de liste). Elles peuvent être multiples par site SharePoint.

c) les bases d’indexationCe sont les bases de données dédiées aux configurations des services d’indexation et de recherche de SharePoint

Un serveur applicatif SharePoint (SPWebApplication) correspond à un site web IIS qui a été étendu sur l’un des serveurs Web de la ferme.

La notion de site étendu est moins complexe qu’il y paraît. Il s’agit d’un simple site web IIS qui a été auto configuré par l’administration centrale de SharePoint pour utiliser le HttpHandler SharePoint. Ainsi, le framework SharePoint peut désormais « virtualiser » les sites SharePoint à la demande sur cette adresse. A noter aussi, que les bases de contenus sont rattachées directement aux Web Applications

4.1.2 Niveau applicationC’est à ce niveau qu’intervient vraiment le développeur SharePoint. La ferme physique ainsi que son interaction avec le niveau gestion étant globalement réservés aux opérations d’administrations et à l’administration centrale.

Il faut absolument différencier 2 éléments : Le site Web SharePoint (classe SPWeb) La collection de site SharePoint (classe SPSite)

Un site web SharePoint n’existe qu’à travers son appartenance à une collection de sites (SPSite). Le premier niveau de l’arborescence d’une collection est aussi un Site Web SharePoint (SPWeb), il est appelé site de racine ou de haut niveau.

C’est d’ailleurs ce site web SharePoint qui va gérer les listes dites « galléries » comme celle des Master pages, des WebParts et des types de contenu pour l’ensemble des sites web de la collection de site.

Les collections sont reliées aux applications web par un chemin de gestion, par défaut 2 chemins existent :

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 17 sur 27

Page 18: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

/ (racine) : chemin de type exclusif /sites/ : chemin de type générique

Via l’administration centrale, il est possible de créer d’autres chemins de gestion si vous désirez créer d’autres collections de site SharePoint. Un chemin explicite permet d’attacher directement une collection de sites sur l’adresse alors que les chemins génériques permettent d’en attacher plusieurs via un sous niveau.

Par exemple :

Vous pouvez créer /Blogs comme chemin générique et ensuite créer plusieurs collections dont le site de racine serait un blog (ainsi qu’en rajouter au besoin):

http://Dns/blogs/gregory http://Dns /blogs/aurelien http://Dns /blogs/renaud

Avec un chemin explicite comme /marketing, vous ne pourriez créer qu’une seule et unique collection utilisant le modèle portail, soit l’url : http://Dns/marketing

A noter que les collections de sites sont l’élément le plus fin en termes de sauvegarde/restauration. Il n’est pas possible d’effectuer de sauvegarde sur un site web SharePoint, seule la collection peut l’être individuellement.

Il y a une relation directe entre les collections de site SharePoint et les bases de données de contenus. Cependant, les Base de données sont rattachées physiquement aux applications Web. En termes de stockage, la règle de répartition entre une base de données et une collection de site est assez simple :

une collection de site appartient à une et unique base de contenus une base de contenus peut gérer une ou plusieurs collections de site simultanément

4.2 Base de conception

En terme d’architecture SharePoint, il est bon de dissocier 2 axes de conception : Un axe micro : le site Web SharePoint et son contenu Un axe macro : la génération de ce site et son hébergement dans les différentes collections

de votre ferme SharePoint

La définition du site Web SharePoint est assez proche de celle de tout site SharePoint car il s’agira surtout de cerner les besoins de listes, de rendu, workflows et de WebPart.

Cependant, il faut aussi prendre un peu de recul et voir l’intégration de ce site dans une ferme SharePoint. A vrai dire, le système de SharePoint reposant sur la notion de génération dynamique de site, l’axe micro se concrétise souvent dans la réalisation d’un modèle de site clé en main. Il faut ensuite pondérer son déploiement dans la ferme avec des questions comme :

Combien d’instance de ce modèle ? Faut-il compartimenter les sécurités par plusieurs collections ou créer des sous sites ? Les instances seront il regroupés dans un portail existants ou non ? Quelle adresse donner à ses sites ? …

La notion de croissance des sites SharePoint est très importante à prévoir et à gérer. Il faut donc aussi s’intéresser à l’impact d’un ou de milliers de sites basés sur le nouveau modèle.

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 18 sur 27

Page 19: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

4.3 Les chiffres clésAfin de bien mesurer la croissance de site, il faut aussi la comparer avec les chiffres clés de l’architecture SharePoint. Sous-entendu, éviter de flirter avec les limites conseillées d’utilisation de la plateforme :

Objet SharePoint

Chiffres clés pour des performances acceptables Notes

Niveau d’impact lors de la chute de la dégradation des performances

Site collection

50 000 par base de contenu

Les performances global de la ferme décroit en fonction de la croissance du nombre total de collection de site.

Ferme

Site collection

150 000 par application web

Cette limite est théorique et dépend aussi de paramètres externes comme :

Performance du serveur de la base de données.

Performance des serveurs Web. Qualité du réseau et de la bande

passante entre les serveurs Web et la base de données

Ce n’est pas une limite en dur mais une limite conseillé pour des performances optimales sur des fermes de test standards

Seul un test de charge réel de votre ferme de serveur peut donner un indice réel de mesure

Ferme

Web site 250 000 par collection de site

Vous pouvez créer un nombre conséquent de site SharePoint en cascadant leur création. Par exemple, 100 sites, qui ont chacun 1000 sous sites représente un volume final de 100 000 sites Web.

Le maximum recommandé est un chiffre de 125 sites avec 2 000 sous sites chacun, soit un total de 250 000 sites.

Collection de site

Sous site 2,000 par site web

L’interface d’énumération des sous sites pour un site donné n’est pas performante au delà d’un nombre supérieur de 2000 sous sites

Site

Document 5 million par liste On peut créer d’importante bibliothèque documentaire en créant une arborescence complexe de dossier sous dossier. Bien sur, le nombre de document et de dossier variera selon les choix de stockage, le poids des documents et l’organisation documentaire des sites SharePoint

Liste

Eléments 2 000 par vue Les tests ont montré une réduction de performance à partir de 2 milliers d’éléments. Utiliser les vues indexé sur des dossiers à plats peut améliorer les performances.

Vue d’une liste

Document file size

50MB (2GB max*)

Les performances lors de la sauvegarde de fichier est proportionnel à la taille des fichiers. Le maximum par défaut est de 50 MB. Cependant, ce maximum peut être modifié jusqu’à une valeur de 2 GB.

Liste documentaire

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 19 sur 27

Page 20: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

List 2 000 par site web

Les tests indiquent une dégradation des performances d’affichage des vues des listes. Quand le nombre d’éléments dépasse les 2 milles entrées, il faut concevoir d’autre composant de consultations.

Vues de liste

Type de colonne

256 par liste Ce n’est pas une limite en dur. Mais les performances seront moindre fur à mesure que le nombre de type de colonnes augmentera

Vue de liste

Colonne 2,000 par liste documentaire

4,096 par liste

Ce n’est pas une limite en dur. Mais les performances seront moindre fur à mesure que le nombre de colonnes augmentera

Liste et vues de liste.

Web Part 50 par page C’est une estimation de base sur une simple page avec les composant WP d’origine. Bien sur, les performances sont aussi liées à la complexité et la qualité des composants Web Part personnalisés.

Page

La plupart des chiffres clés ainsi que les scénarii d’optimisation ou de choix sont bien sur disponibles à ces adresses :

White paper: Working with large lists in Office SharePoint Server 2007.http://technet.microsoft.com/en-us/library/cc262813.aspx

Planning for enterprise content storagehttp://technet2.microsoft.com/Office/en-us/library/9994b57f-fef8-44e7-9bf9-ca620ce207341033.mspx?mfr=true

Plan for software boundaries (Office SharePoint Server)http://technet.microsoft.com/en-us/library/cc262787.aspx

Note :

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 20 sur 27

Page 21: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

5 Revue du répertoire système de SharePointRevenons à 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.1 Spé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.2 Identification des différents répertoiresSon arborescence est spécifique, chaque sous-répertoire correspond à une zone de personnalisation ou d’extension possible des sites SharePoint.

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 21 sur 27

Page 22: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

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 : PATHAjouter le chemin vers 12/bin pour les appels vers les applicatifs de gestion comme le stsadm.exe

Barre d’outils de la barre des tachesVous 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 :

ISAPIIl contient toutes le DLLS ainsi que les web services

LOGSIl contient les fichiers de logs de la plateforme. Pratique en cas d’erreur ou de problème.

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 22 sur 27

Page 23: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

CONFIGIl contient l’ensemble de fichiers de configurations comme les fameux fichiers de trust que sont le minimal ou le medium par exemple

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

RessourcesIl contient les fichiers de traduction utilisé pour l’internationalisation des interfaces

TemplatesCe 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

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

FEATURESIl 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

IMAGESCe répertoire fédère l’ensemble des images de la ferme. Ces les images sont disponibles via l'url /_layouts/images/xxx.gif

LAYOUTSContient 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’appellePar exemple, la page d’administration settings.aspx d’un site est à l’url http://DnsDuSite/sites/ExempleDeSite/_layouts/settings.aspx

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

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 23 sur 27

Page 24: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

XMLIl 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.3 Pré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 :

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 24 sur 27

Page 25: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

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 :

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 25 sur 27

Page 26: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

6 Pour 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

Printemps 2009 Tutoriel Découverte de SharePoint 2007 Page 26 sur 27

Page 27: download.microsoft.comdownload.microsoft.com/documents/France/MSDN/20… · Web viewElle permet de décrire en XML la conception d’un modèle de site SharePoint. Qu’il s’agisse

Microsoft Introduction au développement SharePoint – Atelier 1

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

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 27 sur 27