PowerShell et SharePoint

A force de jouer avec les cmdlets Windows PowerShell de SharePoint, nous y avons pris goût 🙂

Avant de les utiliser, allez dans Tous les programmes > Microsoft SharePoint 2010 Products > SharePoint 2010 Management Shell (à exécuter en tant qu’administrateur).

Vous pourriez aussi lancer la commande PowerShell de Windows et tapez Add-PSSnapin Microsoft.SharePoint.PowerShell pour récupérer les cmdlets SharePoint.

Dans le modèle Objet de SharePoint, faites attention car SPSite est une collection de sites, tandis que SPWeb représente un site (ou un sous-site).

La première cmdlet à connaître est celle qui donne l’aide sur l’aide: Get-Help Get-Help. Les fichiers d’aide sont au format XML. Ils se trouvent dans le dossier C:/Program Files/Common Files/Microsoft Shared/Web Server Extensions/14/CONFIG/POWERSHELL/Help/fr-fr pour la version française.

D’autres exemples de cmdlet utiles:

  • Liste de toutes les cmdlets de SharePoint: Get-Command -PSSnapin Microsoft.SharePoint.PowerShell. Pour connaître leur nombre: @(Get-Command -PSSnapin Microsoft.SharePoint.PowerShell).count.
  • Liste de toutes les méthodes et propriétés d’un objet du Modèle Objet de SharePoint (par exemple Get-SPSite): Get-SPSite | Get-Member. La même commande pour Get-SPWeb: Get-SPSite | Get-SPWeb | Get-Member.
  • Affiche toute l’aide d’une commande (par exemple Get-SPSite): Get-Help Get-SPSite -Full. Pour avoir uniquement les exemples: Get-Help Get-SPSite -Examples
  • Liste des services SharePoint avec leurs états: Get-SPServiceInstance
  • Liste des bases de données: Get-SPDatabase
  • Liste de toutes les collections de sites et de leurs bases de données respectives: Get-SPSite -Limit All | select url, contentdatabase. Si vous omettez -Limit All, la requête ne renvoie que les 200 premiers objets.
  • Volume de stockage d’une collection de sites: Get-SPSite | select url, @{Expression={$_.Usage.Storage}}
  • Liste des sites basés sur un certain modèle de site (par exemple un site d’équipe): Get-SPSite -Limit All | Get-SPWeb -Filter {$_.Template -eq « STS#00 »}
  • Liste des modèles de sites de la ferme: Get-SPWebTemplate

Il existe bien d’autres cmdlets intéressantes.

Les cmdlets sont susceptibles d’utiliser une très grande quantité de mémoire. Aussi, afin d’éviter une fuite mémoire, vous pouvez utiliser les cmdlets Start-SPAssignment et Stop-SPAssignment. Ces cmdlets implémentent l’interface IDisposable afin de libérer la mémoire qui n’est plus utile. Voici deux exemples tirés de l’aide de la commande Get-SPSite qui utilisent la méthode d’affectation de collection :

Start-SPAssignment -Global
$s = Get-SPSite
$s.url
Stop-SPAssignment -Global

L’exemple ci-dessous utilise une méthode moins consommatrice de mémoire que la précédente grâce à des variables nommées :

$o = Start-SPAssignment
$s = $o | Get-SPSite
$s.url
Stop-SPAssignment $o

Lorsqu’on débute en PowerShell, et même après, le paramètre -WhatIf est précieux car il simule l’exécution de la cmdlet. Par exemple, la commande Get-SPSite | Remove-SPSite -WhatIf vous retournera WhatIf : Opération « Remove-SPSite » en cours sur la cible « http://mw41 », sans supprimer la collection de site. La difficulté est de savoir où positionner le paramètre -WhatIf quand les commandes sont imbriquées.

Vous trouverez ci-dessous, un programme en téléchargement libre qui:

  • Stocke les paramétres de configurations des fichiers journaux SharePoint dans un premier fichier texte,
  • Modifie la durée de conservation des journaux, ainsi que d’autres paramétres,
  • Stocke à nouveau les paramétres de configurations des fichiers journaux dans un nouveau fichier texte,
  • Compare avec une commande PowerShell les deux fichiers.

SPDiagnosticConfigParams_V1_0_0.zip

Mise à niveau des bases systèmes SharePoint

L’avertissement « Databases running in compatibility range, upgrade recommended » est apparu dans l’Administration centrale.
Databases running in compatibility range, upgrade recommended
Dans notre cas, seules les bases de données systèmes (par différences avec les bases de données de contenu) sont concernées. Ce message s’est affiché après l’application d’un CU (Cumulative Update). Il aurait pu aussi apparaître à la suite d’un Hotfix pour SharePoint.

Bases de données systèmes

L’avertissement concernant les bases de données systèmes, il a pu être supprimé grâce à la commande Psconfig.exe.

Dans une invite de commande, exécutée en tant qu’administrateur:
PSConfig.exe -cmd upgrade -inplace b2b -force -cmd applicationcontent -install -cmd installfeatures
PSConfig.exe -cmd upgrade -inplace b2b -force -cmd applicationcontent -install -cmd installfeatures

Bases de données utilisateur

Lorsque l’avertissement concerne les bases de données de contenu des utilisateurs, la commande PowerShell à utiliser est Upgrade-SPContentDatabase.

Par exemple, si la base WSS_Content (base de données de contenu) est concernée, la commande à exécuter en tant qu’administrateur dans SharePoint 2010 Management Shell est:
$db = Get-SPDatabase | Where-Object {$_.Name -match « WSS_Content »}
Upgrade-SPContentDatabase -Identity $db

Mise à niveau de SharePoint 2007 vers SharePoint 2010

Depuis que Microsoft a lancé officiellement SharePoint Foundation 2010 et SharePoint Server 2010, vous vous interrogez sur la nécessité ou pas de migrer vers Sharepoint 2010. Dans cette rubrique, vous trouverez des critères de choix pour vous déterminer.

SharePoint 2010 n’est disponible qu’en version 64 bits, y compris pour SQL Server. Par conséquent, la première étape consiste à prévoir la migration ou la mise à jour de votre infrastructure SharePoint vers 64 bits.

Pour installer et utiliser SharePoint 2010, il est nécessaire de disposer d’une version 64 bits de Windows Server 2008 ou Windows Server 2008 R2. De même, il est impératif de disposer d’une version 64 bits de SQL Server 2008 ou de SQL Server 2005.

Afin de tirer au mieux parti des fonctionnalités de SharePoint 2010, il est conseillé que les postes clients fonctionnent sous Windows avec Internet Explorer 7 ou 8 en 32 bits.

Stratégies de migration vers SharePoint 2010

Que faire si, en ce moment :

  • vous n’avez rien mais vous hésitez entre SharePoint 2007 et SharePoint 2010 : quels sont les avantages et inconvénients des deux solutions ?
  • vous disposez déjà de SharePoint 2007, sur un système Windows 32 bits ou 64 bits, et vous vous interrogez sur la pertinence de migrer vers SharePoint 2010 ?
  • vous utilisez toujours la version SharePoint Portal Server 2003 (SPS 2003) ? Serez-vous obligé de faire une mise à niveau intermédiaire vers SharePoint 2007 pour passer à SharePoint 2010 ?

Autant de questions qui nécessitent des réponses différentiées. Voir aussi : Quels sont les Critères de choix entre SharePoint 2007 et SharePoint 2010 ?

Principe de la migration

Dans ce chapitre, nous présentons uniquement les grands principes de base d’une migration. Son objet est donner une idée de ce qu’il faudrait faire, sans chercher à être exhaustif.

  • Installer le Service Pack 2 de SharePoint 2007 avant la migration
  • Vérifier les pré-requis matériels: 64bits ; Windows 2008 ou Windows 2008 R2 (de préférence); SQL Server 2005 SP3 ou SQL Server 2008 SP1 (de préférence); séparation logs / datas; espace disque disponible au moins égal à 5 fois la taille de la mémoire physique
  • Vérifier les pré-requis logiciels: outre l’installation des composants pré-requis pour SharePoint 2010, il est préférable d’avoir accès à Internet pour télécharger les mises à jour
  • Préparer l’environnement avec la commande: stsadm.exe –o preupgradecheck
  • Identifier les personnalisations: pages maître (« master pages ») et gabarits (« layout »), css et thèmes, modèles de sites et listes, développements spécifiques, solutions, webparts, fonctionnalités (« features »), images (logos). Les modèles de sites et de listes SharePoint 2007 devront être recréés dans SharePoint 2010.
  • Supprimer les sites et espaces de travail obsolètes
  • Sauvegarder les bases de données de contenu SharePoint 2007 puis les restaurer sur SQL Server 2008
  • Tester les bases de données restaurées avec la commande PowerShell: test-spcontentdatabase –name <nom_base_de_donnees> –webapplication http://<nom_application_web>
  • Monter les bases de données restaurées avec la commande PowerShell: mount-spcontentdatabase –name <nom_base_de_donnees> –webapplication http://<nom_application_web>
  • Procéder à la Mise à niveau visuelle: nouvelle fonctionnalité de SharePoint 2010 qui permet de choisir l’apparence visuelle (ancienne apparence 2007, nouvelle apparence 2010)
  • Vérifier soigneusement les sites restaurés

Choix entre SharePoint 2007 et SharePoint 2010

Avant d’envisager une Migration ou mise à niveau de SharePoint 2007 vers SharePoint 2010, il faut s’interroger sur les critères de choix entre ces deux versions.

SharePoint 2007

Vous bénéficiez d’emblée de la stabilité d’un produit pour lequel le Service Pack 2 existe depuis plusieurs mois. De plus, la communauté d’experts SharePoint s’agrandit rapidement.

Il devient de plus en plus facile de trouver, à bon prix, des compétences sur SharePoint 2007 sur la France entière. La situation est identique en Belgique, en Suisse et au Luxembourg. Pour ce pays, cela est vrai depuis plusieurs mois grâce à « l’import » de compétences extra-territoriales.

Enfin, vous connaissez parfaitement les coûts que vous allez supporter.

A l’inverse, si vous installez SharePoint 2007 aujourd’hui, vous vous exposez à un risque d’obsolescence technologique à terme.

Installer la version SharePoint 2007 représente le risque de planifier d’ici quelques années, voire quelques mois, une migration avec toutes contraintes que cela signifie.

SharePoint 2010

SharePoint 2010 est apparu dans sa version opérationnelle le 12 mai 2010.

Outre une ergonomie simplifiée, vous disposez d’un nouvel outil qui intégre les retours d’expériences des utilisateurs de SharePoint 2007. Autrement dit SharePoint 2010 va « viser » juste. Les utilisateurs seront conquis par cette version plus simple d’usage, plus pertinente et plus efficace.

Techniquement, SharePoint 2010 est une version améliorée de SharePoint 2007 qui intégre tous les services packs et correctifs nécessaire.

De plus, elle propose de très nombreuses nouveautés: présence du ruban, modification sur-place des éléments, présence des métadonnées gérées afin de faciliter le classement des documents, évaluation des pages présentées par les utilisateurs, simplification accrue des interfaces d’administration, possibilité de connaître les droits effectifs d’un utilisateur sur une collection de site, fonctionnalités de GED renforcées et accrues, etc.

Les améliorations de SharePoint 2010 concernent aussi les utilisateurs dans leur quotidien professionnel, les administrateurs (architecture et ergonomie plus simple) et les développeurs (nouvelles méthodes d’accès aux données plus simple comme LINQ).

De plus, vous êtes serein juqu’à fin 2012, date de sortie de SharePoint 2013. Votre investissement est pérennisé. Votre image, et celle de tout votre service, est au plus haut.

Développement formulaires InfoPath 2010

Il y a eu la demande de congés ou la demande de support ou de fournitures sous forme d’un formulaire papier.

Puis vous avez connu l’époque des formulaires Acrobat PDF, ou Lotus Domino, voire même Outlook Exchange à l’aide de composants CDO (Collaboration Data Objects) et autres.

Avec InfoPath 2010 de SharePoint, c’est le formulaire Web sans limite.

Les formulaires sont disponibles à partir d’un simple navigateur web (Internet Explorer, Firefox, Mozilla, Safari, Netscape) ou un mobile (smartphone, pdaphone), que ce soit sur Windows, MacOS, Linux ou Unix.

Il n’est donc pas nécessaire d’avoir InfoPath sur son poste pour remplir le formulaire.

Les formulaires sont interactifs. Quand, par exemple, la case Urgent est cochée, un complément d’information est demandé à l’utilisateur. Si la case n’est pas cochée, la demande complémentaire n’apparaît pas.

InfoPath de SharePoint répond à votre besoin de disposer de formulaires réellement dynamiques qui s’adaptent en fonction de la saisie. Les formulaires peuvent aussi intégrer des données du système d’information de l’entreprise.

Des flux de travail peuvent être naturellement associés à vos formulaires pour automatiser leur traitement.

GED et SharePoint 2010

L’objet de cet article est de présenter certaines fonctionnalités communes à SharePoint 2010 et aux logiciels de GED du marché.

Métadonnées gérées

Les métadonnées gérées constituent une collection hiérarchique de termes gérés de façon centralisée et utilisables comme attributs d’éléments dans Microsoft SharePoint Server 2010. Autrement dit, il s’agit d’un thésaurus. Un thésaurus regroupe des termes entre eux et les hiérarchise. Il comprend aussi un synonyme de termes.

De nombreux types de contenu SharePoint Server 2010 possèdent par défaut une colonne Mots clés gérés. Lorsque l’utilisateur commence à taper une valeur, le contrôle affiche tous les termes de tous les ensembles de termes comprenant l’ensemble de mots clés qui commencent par les caractères tapés.

L’ensemble de termes dans lequel le terme existe, ainsi que la position du terme dans la hiérarchie, sont également affichés.

Organisateur de contenu

SharePoint Server 2010 introduit le stockage et le routage par métadonnées par le biais de l’organisateur de contenu.

Au lieu de télécharger directement un document vers une bibliothèque ou un dossier, les utilisateurs peuvent enregistrer leurs documents dans la bibliothèque de remise.

Des règles, définies préalablement, routent les documents vers les bonnes bibliothèques.

L’organisateur de contenu est accessible à l’aide de l’une des méthodes suivantes : Téléchargement d’un document vers une bibliothèque de remise, Utilisation de l’option Enregistrer sous dans les applications clientes Word, Excel et PowerPoint, Utilisation de l’option Envoyer vers à partir des autres sites SharePoint, Envoi vers un site Centre d’enregistrements dans le cadre du cycle de vie ou de l’expiration d’un document, par exemple, dans le cadre d’un flux de travail ou d’une stratégie de rétention
Explication des paramètres de l’organisateur de contenu
Rediriger les utilisateurs vers la bibliothèque de remise : Il spécifie que les utilisateurs sont redirigés vers la bibliothèque de remise lorsqu’ils téléchargent dans un site auquel s’appliquent une ou plusieurs règles de l’organisateur de contenu

Envoi vers un autre site : Des règles peuvent être créées pour rediriger les téléchargements dans le site actuel afin qu’ils soient envoyés vers un autre site sur lequel le composant Organisateur de contenu est également activé

Partitionnement de dossier : Des sous-dossiers sont créés lorsqu’un nombre spécifié d’éléments dans un dossier est dépassé

Soumissions en double : Indique s’il faut utiliser le contrôle de version SharePoint ou ajouter des caractères uniques à la fin des noms de fichier en double lors de la présence de doublons

Gestionnaires de règles : Ce paramètre spécifie les utilisateurs ou les groupes qui peuvent créer des règles, réagir à du contenu téléchargé ne correspondant à aucune règle et gérer ce contenu

Points de soumission : Lors de la création d’un emplacement Envoyer vers dans l’Administration centrale, il s’agit de l’URL de service que vous spécifiez comme destination pour les fichiers envoyés vers l’emplacement Envoyer vers
Explication des règles de l’organisateur de contenu
État et priorité de la règle : Spécifie la priorité de la règle sur une échelle de 1 à 9 si plusieurs règles sont appliquées. Vous pouvez également spécifier que la règle soit inactive et qu’elle ne soit appliquée à aucun contenu entrant

Type de contenu de l’envoi : Spécifie le groupe de types de contenu tel que Types de contenu de document, Types de contenu de publication, etc.

Conditions : Applique des filtres de propriété supplémentaires pour la règle à traiter

Emplacement cible : Spécifie où placer le contenu qui correspond à la règle

Points de soumission : Emplacement auquel sera enregistré l’élément satisfaisant à tous les critères précédents. Si vous avez activé l’option Envoi vers un autre site dans les paramètres de l’organisateur de contenu, une zone déroulante apparaît, répertoriant d’autres emplacements hors du site actuel vers lesquels un document peut être routé.

 

WebPart Dynamique

Préparation de l’environnement de développement

Afin de vous permettre de poursuivre ce cours avec les Tutoriels Microsoft pour le développement, vous pouvez utiliser un site d’équipe SharePoint 2010. Pour les labs, il est accessible via l’URL http://terre/.

Sur ce site, il existe 2 nouvelles listes : Employés et Projets que vous devrez créer à la main (pour l’instant) et alimenter.

Liste Employés

  • NomComplet : Une seule ligne de texte
  • TitreEmploi : Une seule ligne de texte
  • Equipe : Une seule ligne de texte
  • Contribution : Nombre
  • Projet : Recherche
Liste Projets

  • Titre : Une seule ligne de texte
  • Description : Une seule ligne de texte
  • DateFin : Date et heure
  • Responsable : Recherche

Contraintes : Le champ Employés.Projet pointe sur Projets.Titre. Le champ Projets.Responsable pointe sur Employés.NomComplet.

Avertissement

Débutez par le premier exercice: Développer un WebPart « Hello World ». En effet, les élements présentés en détail dans les exercices précédents ne seront pas réexpliqués par la suite.

Objectif du TP

Développer un WebPart qui affiche des informations sur les listes d’un site SharePoint 2010.

Pratique

Cliquez sur Démarrer > Tous les programmes > Microsoft Visual Studio 2010 puis Exécuter en tant qu’administrateur Microsoft Visual Studio 2010. Sur la page de démarrage de Microsoft Visual Studio 2010, cliquez sur Nouveau projet… Dans les Modèles installés (sur la gauche), développez Visual C# puis SharePoint, cliquez sur 2010 puis choisir Composant Visual Web Part.

Ensuite donnez un nom à votre projet : AffichageListe.

WebPart Dynamique

Gardez les autres options par défaut puis cliquez sur le bouton OK Dans la fenêtre qui s’ouvre, indiquez le site local (http://terre/) et choisissez de Déployer en tant que solution de batterie. Puis cliquez sur Terminer.

Sur la droite apparaît l’Explorateur de solutions. Un WebPart intitulé VisualWebPart1 apparaît. Développez VisualWebPart1 pour faire apparaître le fichier VisualWebPart1.webpart et double cliquez sur ce fichier pour l’ouvrir.

Changez le titre en Affichage du nombre de listes. Ce qui donne :
<property name=« Title«  type string>Affichage du nombre de listes</property>
Faites un clic droit sur VisualWebPart1.cs, puis sélectionnez Afficher le code. Dans la classe VisualWebPart1, après la parenthèse ouvrante, saisissez le code suivant :
protected Label lblAffichage; protected Button BtnListes;
Dans la méthode CreateChildControls(), après la parenthèse ouvrante, saisissez le code suivant :
Label lblAffichage = new Label(); Controls.Add(lblAffichage);
Controls.Add(new WebControl(HtmlTextWriterTag.Br));
Button BtnListes = new Button(); BtnListes.Text = « Nombre de listes »;
BtnListes.Click += delegate{ lblAffichage.Text = String.Format(« <br>Ce site contient {0} listes. », SPContext.Current.Web.Lists.Count); };
Controls.Add(BtnListes);

Pour télécharger le code correspondant à affichageliste.visualwebpart1.cs.

Il ne reste plus qu’à déployer la solution, puis insérer le WebPart dans le site: choisissez le WebPart Affichage du nombre de listes :

WebPart Dynamique

Remarque : le nombre de 26 est exact car le programme compte aussi les listes maquées dans le navigateur qui n’apparaissent pas lors d’un clic sur Tout le contenu du site. En revanche, ces listes et bibliothèques apparaissent bien avec SharePoint Designer 2010.

WebPart Hello World

Le traditionnel et classique « Hello World ! » va se présenter sous la forme d’un premier WebPart.

Objectif du TP

Développer un WebPart qui affiche « Hello World ! » sur une page d’un site SharePoint.

Pratique

Cliquez sur Démarrer > Tous les programmes > Microsoft Visual Studio 2010 puis Exécuter en tant qu’administrateur Microsoft Visual Studio 2010

Sur la page de démarrage de Microsoft Visual Studio 2010, cliquez sur Nouveau projet…

Dans les Modèles installés (sur la gauche), développez Visual C# puis SharePoint, cliquez sur 2010 puis choisir Composant Visual Web Part
Composant Visual Webpart

Ensuite donnez un nom à votre projet : HelloWorld.

Composant Visual Webpart

Gardez les autres options par défaut puis cliquez sur le bouton OK

Dans la fenêtre qui s’ouvre, indiquez le site local et choisissez de Déployer en tant que solution de batterie :

Composant Visual Webpart

Puis cliquez sur Terminer. Sur la droite apparaît l’Explorateur de solutions :

Composant Visual Webpart

Un WebPart intitulé VisualWebPart1 apparaît.

Développez VisualWebPart1 pour faire apparaître le fichier VisualWebPart1.webpart et double cliquez sur ce fichier pour l’ouvrir.

Composant Visual Webpart

Changez le titre en Bonjour Monde !.

Ce qui donne :
<propertyname=« Title« type=« string« >Bonjour Monde !</property>
Faites un clic droit sur VisualWebPart1.cs, puis sélectionnez Afficher le code.

Dans la classe VisualWebPart1, après la parenthèse ouvrante, saisissez le code suivant :
protected Label lblAffichage;
Dans la méthode CreateChildControls(), après la parenthèse ouvrante, saisissez le code suivant :
lblAffichage = new Label(); lblAffichage.Text = « Hello World ! »; Controls.Add(lblAffichage);
Votre code devrait ressembler à :

Composant Visual Webpart

Pour télécharger le code correspondant à VisualWebPart1.cs.

Déploiement de la solution

Grâce au déploiement, le WebPart va être accessible dans le site http://terre/. Pour cela, dans l’explorateur de solutions, faites un clic-droit sur HelloWorld puis cliquez sur Déployer:

Composant Visual Webpart

Une fenêtre de sortie apparaît en bas de l’écran central :

Composant Visual Webpart

Insérer le WebPart dans le site

Lancez Internet Explorer avec l’url http://terre/SitePages/Accueil.aspx. Ensuite, cliquez sur Actions du Site > Modifier la page. Dans les Outils d’édition, cliquez sur Insérer puis Composant WebPart.

Dans les Catégories, sur la droite, cliquez sur Custom et sélectionnez Bonjour Monde ! que vous ajoutez à la page :

Composant Visual Webpart

Puis dans l’onglet Page, cliquez sur Enregistrer et fermer. Le résultat ne se fait pas attendre :

Composant Visual Webpart

Notez qu’il s’agit d’un « vrai » WebPart. Vous pouvez donc modifier son apparence pour faire changer ou faire disparaître le titre du WebPart (« Bonjour Monde ! ») :

Composant Visual Webpart

Il ne vous reste plus qu’à faire des petites modifications dans le code pour bien comprendre comment il fonctionne: n’oubliez pas de déployer entre chaque modification.

L’intérêt de développer une WebPart est d’intégrer de l’interactivité avec l’utilisateur en charge de la conception du site.

Le prochain exercice, plus élaboré, va manipuler les informations du site SharePoint grâce à un WebPart Dynamique.

Connaissances à acquérir pour développer avec SharePoint 2010

Aussi surprenant que cela paraisse, la liste des connaissances à avoir pour développer en SharePoint 2010 n’est pas excessivement longue.

La seule disposition indispensable pour développer avec SharePoint 2010 est d’aimer la programmation. Cela signifie qu’il faut aimer faire des programmes ou accepter de passer du temps à résoudre des difficultés de développement informatique et surtout savoir savourer la satisfaction d’avoir réussi à développer un programme qui « marche pour tout le monde (pas seulement pour soi…).

Savoirs essentiels à acquérir

Il est nécessaire d’avoir des bases de logiques de programmation:

  • les enchaînements,
  • les conditions (IF… ELSE),
  • les boucles (FOR, WHILE),
  • les appels de fonctions,
  • les notions de constantes, variables, de types de données (INT, CHAR, …).

Pour acquérir ce savoir, nous vous conseillons le livre de Christophe Dabancourt « Apprendre à programmer : Algorithmes et conception objet » car il aborde aussi la programmation orientée objet, ce qui sera un plus pour la suite.

En effet, vous devez connaître aussi un langage de programmation orientée objet comme Java ou C++.

Idéalement, il est préférable de connaître un langage .Net : VB.Net ou C# (de préférence). Pour cela, vous pouvez vous procurer l’excellent livre (s’il n’est pas épuisé) de Michel de Champlain, C# 2.0 : Guide pratique du développeur. Bien qu’il couvre une version ancienne de C#, ce livre expose toutes les notions à connaître en matière d’objets dans .Net.

Enfin, la pratique de SharePoint avec la connaissance de base de ses objets principaux (collection de sites, sites, listes, webparts, pages web) est indispensable avant de se lancer dans le développement. Pour résumer les dispositions et savoirs essentiels nécessaires aux développement avec SharePoint 2010 sont :

  • Aimer la programmation
  • Connaître l’algorithmique
  • Connaître les bases de la programmation orientée objet
  • Connaître les bases de Dot.Net
  • Pratiquer régulièrement le C#
  • Pratiquer Sharepoint et connaître ses objets principaux

Savoirs profitables

Bien sûr, vous irez plus vite si vous maîtrisez déjà :

  • Le développement en code managé
  • Le framework DotNet
  • Le modèle objet SharePoint
  • Visual Studio 2010

Toutefois, ces savoirs ne sont pas indispensables pour suivre ce cours en ligne.

Si vous possédez les savoirs essentiels, vous êtes prêt pour la première leçon qui vous apprendra comment développer votre WebPart « Hello World ». Forcément…

Tutoriels Microsoft pour le développement SharePoint

Microsoft est la première source d’informations sur ses produits.

Aussi, il est normal de s’intéresser à la production de Microsoft en matière de tutoriels ou guides pour apprendre à développer. Vous trouverez une sélection des ressources les plus intéressantes pour apprendre à développer un WebPart dans SharePoint 2010.

Visual Studio 2010 and .NET Framework 4 Training Kit

Visual Studio 2010 et .Net Framework 4 Training Kit

La nouvelle mouture du kit Microsoft Visual Studio 2010 and .NET Framework 4 Training Kit est une formation qui passe en revue les modifications importantes dans Visual Studio 2010 et. NET Framework 4.

Avec ce kit, vous apprendrez à connaître les changements apparus dans les WebForms et AJAX, ainsi que les améliorations liées aux technologies du Framework .NET, y compris l’accès aux données ADO.NET Data Service, ADO.NET Entity Framework et Microsoft Distributed Cache.

Windows Communication Foundation et le Workflow ont aussi été significativement améliorés dans le.Framework NET 4. Vous apprendrez aussi les principaux aspects de la création d’applications avec Silverlight 4.

Et ce n’est pas tout ! Vous apprendrez aussi comment paralléliser vos traitements plus facilement. Enfin, vous pourrez vous familiariser avec le cloud computing Windows Azure de Microsoft.

SharePoint 2010 Advanced Developer Training Videos, Labs MSDN

Le site SharePoint 2010 Advanced Developer Training Videos, Labs MSDN est réellement impressionnant. Ce site regorge d’informations utiles et pertinentes.

SharePoint 2010 Advanced Developer Training Videos

Ce site est organisé autour de 10 thèmes:

  • Feuille de route pour les développeurs et les outils
  • Développement fondamental
  • Interfaces utilisateurs et listes
  • Accès aux données
  • Solutions composites
  • Enterprise Content Management
  • Recherche
  • Business Intelligence
  • Communautés
  • Cycle de vie du développement

Chaque thème est décliné en 1, 2 ou 3 leçons. Et dans chaque leçon, vous trouverez une vidéo à télécharger avec la présentation PowerPoint de la vidéo (à télécharger aussi).

Avec la plupart des leçons, il existe un laboratoire en ligne avec des exercices pratiques ! C’est une véritable mine d’or.

Le téléchargement complet des ressources, hormis les laboratoires en ligne, représente 2,26 Go de données à visualiser.

Comme le nom l’indique, ce site s’adresse de préférence à des développeurs expérimentés.

SharePoint 2010 Developer Training Kit

Il s’agit d’un kit à télécharger directement à partir du site de Microsoft. Une fois décompressé, vous y trouverez des labos avec leurs codes en C# ou VB.net, des présentations PowerPoint, des pages html, etc.

Linq To SharePoint

Bref, vous trouverez de quoi vous entraîner pour développer sur SharePoint 2010 par exemple avec LINQ. SharePoint 2010 Developer Training Kit se révèle précieux car il apporte souvent des d’informations complémentaires détaillées.

Dans la continuité du Kit, d’autres ressources sont en ligne sur Channel 9 sur MSDN.

Developing Applications for SharePoint 2010

Vous retrouverez dans ce kit des exemples de code, etc.

Les deux fichiers intitulés SharePointGuidance2010.chm et SharePointGuidanceLibrary2010.chm sont particulièrement appréciables.

Le fichier SharePointGuidanceLibrary2010.chm, très technique, expose les classes, les constructeurs, les méthodes, etc. SharePoint. Il sert donc plus de référence que de livre de chevet.

L’autre fichier SharePointGuidance2010.chm donne des conseils pratiques pour les développeurs expérimentés.

Vous trouverez une masse d’informations claires et précises sur les nouveautés de SharePoint 2010.

Si vous avez eu des difficultés à apprécier l’intérêt des solutions Sandboxed, ce guide vous donnera toutes les explications nécessaires.

Notez qu’il existe une version Acrobat PDF du guide, plus pratique à manipuler. Enfin, ces guides ont une vie qui continue sur le web. En particulier, les développeurs se retrouvent autour de patterns & practices SharePoint Guidance et Developing Applications for SharePoint 2010.

SharePoint 2010 Hands-on Labs in C# and Visual Basic

C’est probablement la ressource la plus intéressante pour un développeur débutant. Si vous connaissez déjà les rudiments du développement Dot.net, ce kit vous apprendra à développer dans SharePoint 2010 :

  • un Webpart visuel avec Visual Studio 2010
  • une définition de liste avec un récepteur d’événements et comment le déployer sur SharePoint
  • des WebParts avancés
  • avec LINQ
  • grâce au modèle objet et REST
  • un type de contenu externe avec les services de connectivité
  • un Workflow
  • une interface utilisateur avec Silverlight
  • pour personnaliser le ruban SharePoint

Les exemples sont précis et clairs. Evidemment, ce n’est pas une formation avec une progression pédagogique. Toutefois, vous saurez concrètement développer un WebPart grâce à SharePoint 2010 Hands-on Labs in C# and Visual Basic.

La liste des Connaissances à acquérir vous guidera sur les connaissances de base à posséder.