Le nombre de fois où j’ai dû préparer une plateforme prête à recevoir du développement SharePoint ne se compte plus sur les doigts d’une, deux ou même dix mains… Un environnement de développement convivial et pratique est l’outil #1 du développeur SharePoint. Par contre, il doit savoir s’outiller afin d’arriver à un travail optimisé. Ce billet a pour but de partager la liste des outils nécessaires à un développeur SharePoint afin d’arriver à un développement optimal.
Virtualisation
Comme le développement doit absolument être effectué sur une machine munie d’une système d’exploitation de type serveur, il devient utile de pouvoir virtualiser notre environnement. Note importante : abusez le plus possibles des fonctionnalités avancées des différentes plateformes de virtualisation comme la prise d’instantannés (snapshots) et des fonctionnalités de gabarits (templates). Ces petites merveilles vous feront économiser temps, argent et beaucoup de frustration.
La plateforme populaire de virtualisation VMWare est un incontournable. Son seul inconvénient est définitivement son prix. Par contre, il s’agit définitivement de la plateforme de virtualisation de rêve.
Cette plateforme de virtualisation est relativement complète. On dit même qu’elle arrive à faire fonctionner nos machines virtuelles plus rapidement que VMWare! De plus, celle-ci est offerte en mouture “open source”, ce qui permet d’avoir un environnement virtualisé pour… gratuit!
Outils de développement
Les différents outils de développement qui sont offerts aux développeurs SharePoint sont nombreux et souvent très utiles. Il est important par contre de bien essayer chacun des outils afin de bien comprendre leurs avantages et inconvénients avant de les intégrer à votre routine de développement.
La pierre angulaire du développement de solutions SharePoint. L’environnement de développement de Microsoft est la clé de votre succès. Bien maîtriser les outils de Visual Studio vous permettra d’améliorer chacun des aspects de votre développement SharePoint.
Chaque équipe de développement se doit de se munir d’une solution de gestion de code source. Celle-ci, développée par Microsoft s’intègre parfaitement bien avec l’environnement Visual Studio. De plus, cet outil vous permet de gérer vos projets grâce aux différentes tâches que vous pouvez créer afin de suivre la trace du travail de chacun des développeurs.
Selon moi, l’élément qui facilite le plus le développement (et surtout le paquetage de solutions) est STSDEV. Cet outil, qui est simplement une suite d’instructions MSBuild, vous permet de concentrer toutes vos énergies sur le développement des fonctionnalités pour votre solution SharePoint, plutôt que concentrer vos énergies sur la rédaction de vos fichiers .ddf, .wsp, etc. Cet outil automatise tout l’aspect de paquetage et du déploiement de solutions à même votre environnement de développement. Un bijou.
Cet outil est utile pour une partie de ses fonctionnalités. Les gabarits fournis par Microsoft pour la partie du développement sont assez rudimentaires, pour ne pas dire quasi inutiles. Par contre, un outil très intéressant est livré avec ce logiciel : Solution Generator. Cet utilitaire permet de faire de l’ingénierie inversée (reverse engineering de vos listes afin de créer des définitions de listes. Il vous économise de longues heures d’écriture de requêtes CAML afin de créer vos vues, vos champs, vos types de contenus, etc.
SharePoint vous offre une plateforme très bien construite afin de créer des colonnes et des types de contenus. Par contre, lorsque vient le temps d’incorporer ces types de contenu et ces colonnes à vos solutions, cela devient un calvaire, puisqu’il faut créer le schéma XML associé à chacun de ces éléments. CTExplorer vient faciliter le travail en exportant et en formattant le XML de chacun de ces éléments sans se casser la tête.
Le débogage des fonctionnalités SharePoint peut parfois être longue et érintante. Cet outil est à l’écoute des différents endroits où SharePoint laisserait une trace d’erreurs ou d’exceptions déclenchées par votre code et vous en informe au moment où cela se produit. On peut alors facilement trouver le problème et le corriger sans avoir à déboguer pendant des heures.
Le fichier de log de SharePoint est volumineux, souvent rempli d’élément qui sont plus ou moins pertinents et est pratiquement illisible. L’utilitaire ULSViewer vous permet de charger un fichier log et de le voir sous forme de tableau. Une merveille lorsqu’on cherche à déboguer plus aisément.
Vous cherchez comment SharePoint fait pour faire tel ou tel autre truc? Vous pouvez maintenant consulter une très grande partie du code de SharePoint (et de tout code .NET) à l’aide de l’outil Reflector. Très utile lorsque des opérations, pourtant simples en apparence, deviennent très complexes lors de leur implémentation. Cet outil vous aidera à comprendre la façon de faire des développeurs qui ont conçu SharePoint.
Un aspect relativement complexe de la recherche d’information dans SharePoint est son langage de requêtes. Le CAML (Collaborative Application Markup Language) est un langage XML qui permet de faire des requêtes en spécifiant la grande majorité des actions qu’il serait possible de faire dans un environnement SQL. Par contre, quelques subtilités peuvent nous hanter pendant des heures si nous ne connaissons pas pleinement la plateforme. L’outil U2U CAML Builder vous permet de générer des requêtes CAML à partir de listes existantes. Un vrai économiseur de temps!
L’ami ou l’ennemi du développeur SharePoint? Ça dépend! Afin de tester des pages maîtres, de concevoir du CSS ou même pour rapidement faire des preuves de concept, il s’agit de l’outil idéal. Par contre, pour faire du “développement” avec l’aide des flux de travail et des composantes webpart d’affichage de listes, il en est tout autrement. À utiliser avec modération, mais peut souvent vous sortir du trouble.
12 Hive
La très grande majorité de mes questions ont été répondues par la structure de SharePoint elle-même. Fouillez dans le 12-Hive lorsque vous avez des questions sur des formats de fichiers XML, des définitions de listes, des définitions de sites, des champs personnalisés, etc. Tout y est!
Outils d’administration
L’outil le plus complet de tous est définitivement SharePoint Manager 2007. Cet outil vous permet de naviguer dans votre ferme de serveurs en ayant un aperçu global sur tous les éléments qui sont présents dans SharePoint. Un logiciel à détenir absolument.