Introduction au
développement en
SharePoint
Nik Charlebois
@NikCharlebois
NikCharlebois.com
À propos de moi
• Conseiller technique principal @ Bibliothèque et Archives Canada
• Responsable du Groupe d’usager SharePoint de l’Outaouais
• PME Réalisation de sites corporatifs sur Office365
• Débuté avec SharePoint 2003
• MCTSWindows SharePoint Services 3.0
• MCP HTML5 and CSS3
Ordre du jour
• Historique du développement en SharePoint
• Introduction aux différents composants principaux de SharePoint
• Gabarits deVisual Studio
• Anatomie d’une Solution SharePoint
• Survol des différents types de solutions SharePoint:
• Solution de ferme
• Solution en bac-à-sable
• Modèle d’objet client
• Modèle d’Apps
@NikCharlebois
NikCharlebois.com
Historique
2003 et 2007:
• Seule option possible: Solution de Ferme;
• Difficile de gérer les fonctionnalités et paquets de solution;
• Nécessite une installation serveur;
2010:
• Introduction des Solutions en Bac à Sable et du Modèle d’objet client;
• Grande amélioration deVisual Studio pour gérer les solutions;
• Prend en chargeWindows 7;
@NikCharlebois
NikCharlebois.com
Historique[…]
2013:
• Introduction au modèle d’Apps;
• Possibilité de déployer des solutions en bac-à-sable à distance (Visual Studio 2012);
• Windows 7 non-supporté;
• Ne nécessite aucune installation de SharePoint locale*
• 30 days of Surface Challenge;
vNext:
• Solutions en bac-à-sable non-supportées
@NikCharlebois
NikCharlebois.com
* Si le modèle d’app est utilisé exclusivement;
Composants principaux
Site Collection (SPSite)
Web (SPWeb)
Liste (SPList)
Item (SPListItem)
@NikCharlebois
NikCharlebois.com
Composants principaux […]
• Permissions uniques ou héritées peuvent être appliquées sur chaque
composant;
• Permissions peuvent être définie sur:
• Individu;
• Groupe Active Directory;
• Groupe défini dans SharePoint;
@NikCharlebois
NikCharlebois.com
Composants principaux[…]
@NikCharlebois
NikCharlebois.com
WebPart
- Fonctionnalité modulaire pouvant être réutilisée
sur différentes Pages;
- Peux être modifiée et personnalisée pour chaque
utilisateur ou pour tout le monde (shared)
App
Part
Gabarits deVisual Studio
• Gabarits de projets:
@NikCharlebois
NikCharlebois.com
Gabarits deVisual Studio […]
• Gabarits d’items:
@NikCharlebois
NikCharlebois.com
Anatomie d’une Solution SharePoint
• Package: Peux contenir 1 ou plusieurs « plugin » nommé des « features ».
Un seul « package » par solution;
• Feature: Ce qui exécute la tâche ou contient des items à être déployés;
• Item: Web Part, pages administratives, fichiers (images,css, master Pages),
listes, types de contenu, etc (voir diapositive précédente);
@NikCharlebois
NikCharlebois.com
Types de développement
*Pour les 5 démos qui suivent, nous démontrons toujours la même opération,
mais en utilisant les différents modèles de déploiement offerts.
Scénario: créer un nouveau web qui aura une nouvelle liste qui contiendra 50
items;
@NikCharlebois
NikCharlebois.com
Solutions de Ferme
• Accès à tout le modèle d’objets;
• Accès à toutes les ressources du serveur;
• Nécessite un accès direct au serveur pour déployer (via cmd ou PowerShell);
• Recommendation: utiliser seulement pour des solutions administratives;
@NikCharlebois
NikCharlebois.com
Solutions de Ferme […]
• Peuvent-être activées au niveau de la ferme, de l’application web, de la
collection de site, ou d’un site en particulier;
• Nécessite redéploiement pour une reconstruction de ferme;
• Cause une réinitialisation du serveur;
@NikCharlebois
NikCharlebois.com
Démo #1
@NikCharlebois
NikCharlebois.com
Solutions en Bac-à-Sable
• Peuvent être déployées directement par l’utilisateur à distance;
• Limitée à une collection de site en particulier (ne peut pas affecter d’autres
collections de site);
• Gérées par un système de pointage associés aux ressources utilisées;
• Limitée à environ 70% du modèle d’objets entier;
@NikCharlebois
NikCharlebois.com
Solution en Bac-à-Sable […]
• Améliorations avecVisual Studio 2012:
• IntelliSense affiche seulement les classes disponibles;
• WebParts visuelles maintenant prises en charge;
• Possibilité de déployer à distance;
@NikCharlebois
NikCharlebois.com
Solutions en Bac-à-Sable […]
• Seule option pour de la personnalisation sur Office 365 (pour l’instant);
• Sauvegardées directement dans la base de données de contenu;
• Considérées dépréciées en SharePoint 2013, mais fonctionne toujours!;
@NikCharlebois
NikCharlebois.com
@NikCharlebois
NikCharlebois.com
Démo #2
Modèle d’objets client
• Utilise soit SilverLight, .NET ou ECMAScript;
• Exécuté en entièreté sur le côté client;
• Améliorations REST avec SharePoint 2013;
• Seule façon d’intéragir avec le Ribbon (JavaScript);
• Possibilité de créer des applications clients qui
interagissent avec le serveur (Window 8, mobile, etc)
@NikCharlebois
NikCharlebois.com
@NikCharlebois
NikCharlebois.com
Démo #3
Modèle d’Apps
• Trois types d’App:
• SharePoint-Hosted (côté client seulement);
• JavaScript (CSOM ou REST seulement);
• Provider-hosted (hébergée hors SharePoint, mais peuvent être sur-place);
• N’importe quel language (Rail, PHP, .NET, etc)
• Auto-Hosted (Office 365 & Azure seulement);
@NikCharlebois
NikCharlebois.com
Démo #4
@NikCharlebois
NikCharlebois.com
Napa
• Visual Studio « Light » en ligne;
• Permet de créé, déployer et publier des Apps SharePoint-Hosted;
• Possibilité de partager le « package »
• Permet de pousser mon « Surface Challenge » plus loin;
@NikCharlebois
NikCharlebois.com
Démo #5
@NikCharlebois
NikCharlebois.com
Ressources
• .Net Rocks – Episode 849
• http://www.dotnetrocks.com/default.aspx?showNum=849
• Blog de Scott Hillier sur les options d’app
• http://www.shillier.com/archive/2013/02/27/app-designs-in-sharepoint-2013.aspx
@NikCharlebois
NikCharlebois.com
Questions
@NikCharlebois
NikCharlebois.com

Introduction au développement en SharePoint

  • 1.
  • 2.
    @NikCharlebois NikCharlebois.com À propos demoi • Conseiller technique principal @ Bibliothèque et Archives Canada • Responsable du Groupe d’usager SharePoint de l’Outaouais • PME Réalisation de sites corporatifs sur Office365 • Débuté avec SharePoint 2003 • MCTSWindows SharePoint Services 3.0 • MCP HTML5 and CSS3
  • 3.
    Ordre du jour •Historique du développement en SharePoint • Introduction aux différents composants principaux de SharePoint • Gabarits deVisual Studio • Anatomie d’une Solution SharePoint • Survol des différents types de solutions SharePoint: • Solution de ferme • Solution en bac-à-sable • Modèle d’objet client • Modèle d’Apps @NikCharlebois NikCharlebois.com
  • 4.
    Historique 2003 et 2007: •Seule option possible: Solution de Ferme; • Difficile de gérer les fonctionnalités et paquets de solution; • Nécessite une installation serveur; 2010: • Introduction des Solutions en Bac à Sable et du Modèle d’objet client; • Grande amélioration deVisual Studio pour gérer les solutions; • Prend en chargeWindows 7; @NikCharlebois NikCharlebois.com
  • 5.
    Historique[…] 2013: • Introduction aumodèle d’Apps; • Possibilité de déployer des solutions en bac-à-sable à distance (Visual Studio 2012); • Windows 7 non-supporté; • Ne nécessite aucune installation de SharePoint locale* • 30 days of Surface Challenge; vNext: • Solutions en bac-à-sable non-supportées @NikCharlebois NikCharlebois.com * Si le modèle d’app est utilisé exclusivement;
  • 6.
    Composants principaux Site Collection(SPSite) Web (SPWeb) Liste (SPList) Item (SPListItem) @NikCharlebois NikCharlebois.com
  • 7.
    Composants principaux […] •Permissions uniques ou héritées peuvent être appliquées sur chaque composant; • Permissions peuvent être définie sur: • Individu; • Groupe Active Directory; • Groupe défini dans SharePoint; @NikCharlebois NikCharlebois.com
  • 8.
    Composants principaux[…] @NikCharlebois NikCharlebois.com WebPart - Fonctionnalitémodulaire pouvant être réutilisée sur différentes Pages; - Peux être modifiée et personnalisée pour chaque utilisateur ou pour tout le monde (shared) App Part
  • 9.
    Gabarits deVisual Studio •Gabarits de projets: @NikCharlebois NikCharlebois.com
  • 10.
    Gabarits deVisual Studio[…] • Gabarits d’items: @NikCharlebois NikCharlebois.com
  • 11.
    Anatomie d’une SolutionSharePoint • Package: Peux contenir 1 ou plusieurs « plugin » nommé des « features ». Un seul « package » par solution; • Feature: Ce qui exécute la tâche ou contient des items à être déployés; • Item: Web Part, pages administratives, fichiers (images,css, master Pages), listes, types de contenu, etc (voir diapositive précédente); @NikCharlebois NikCharlebois.com
  • 12.
    Types de développement *Pourles 5 démos qui suivent, nous démontrons toujours la même opération, mais en utilisant les différents modèles de déploiement offerts. Scénario: créer un nouveau web qui aura une nouvelle liste qui contiendra 50 items; @NikCharlebois NikCharlebois.com
  • 13.
    Solutions de Ferme •Accès à tout le modèle d’objets; • Accès à toutes les ressources du serveur; • Nécessite un accès direct au serveur pour déployer (via cmd ou PowerShell); • Recommendation: utiliser seulement pour des solutions administratives; @NikCharlebois NikCharlebois.com
  • 14.
    Solutions de Ferme[…] • Peuvent-être activées au niveau de la ferme, de l’application web, de la collection de site, ou d’un site en particulier; • Nécessite redéploiement pour une reconstruction de ferme; • Cause une réinitialisation du serveur; @NikCharlebois NikCharlebois.com
  • 15.
  • 16.
    Solutions en Bac-à-Sable •Peuvent être déployées directement par l’utilisateur à distance; • Limitée à une collection de site en particulier (ne peut pas affecter d’autres collections de site); • Gérées par un système de pointage associés aux ressources utilisées; • Limitée à environ 70% du modèle d’objets entier; @NikCharlebois NikCharlebois.com
  • 17.
    Solution en Bac-à-Sable[…] • Améliorations avecVisual Studio 2012: • IntelliSense affiche seulement les classes disponibles; • WebParts visuelles maintenant prises en charge; • Possibilité de déployer à distance; @NikCharlebois NikCharlebois.com
  • 18.
    Solutions en Bac-à-Sable[…] • Seule option pour de la personnalisation sur Office 365 (pour l’instant); • Sauvegardées directement dans la base de données de contenu; • Considérées dépréciées en SharePoint 2013, mais fonctionne toujours!; @NikCharlebois NikCharlebois.com
  • 19.
  • 20.
    Modèle d’objets client •Utilise soit SilverLight, .NET ou ECMAScript; • Exécuté en entièreté sur le côté client; • Améliorations REST avec SharePoint 2013; • Seule façon d’intéragir avec le Ribbon (JavaScript); • Possibilité de créer des applications clients qui interagissent avec le serveur (Window 8, mobile, etc) @NikCharlebois NikCharlebois.com
  • 21.
  • 22.
    Modèle d’Apps • Troistypes d’App: • SharePoint-Hosted (côté client seulement); • JavaScript (CSOM ou REST seulement); • Provider-hosted (hébergée hors SharePoint, mais peuvent être sur-place); • N’importe quel language (Rail, PHP, .NET, etc) • Auto-Hosted (Office 365 & Azure seulement); @NikCharlebois NikCharlebois.com
  • 23.
  • 24.
    Napa • Visual Studio« Light » en ligne; • Permet de créé, déployer et publier des Apps SharePoint-Hosted; • Possibilité de partager le « package » • Permet de pousser mon « Surface Challenge » plus loin; @NikCharlebois NikCharlebois.com
  • 25.
  • 26.
    Ressources • .Net Rocks– Episode 849 • http://www.dotnetrocks.com/default.aspx?showNum=849 • Blog de Scott Hillier sur les options d’app • http://www.shillier.com/archive/2013/02/27/app-designs-in-sharepoint-2013.aspx @NikCharlebois NikCharlebois.com
  • 27.