Bien comprendre le nouveau modèle Apps de SharePoint 2013SharePoint Saturday – MONTRÉAL8 février 2014 – February 8th 2014
Merc i à nos command i t a i r es !
Thanks to ou r sponso rs !
| 3
• Spécialiste SharePoint
• Architecte / Consultant / Formateur / Développeur
@lplavoie
Suis-je?
Louis-Philippe Lavoie
http://www.gsoft.com/fr/blogue?categorie=sharepoint
Qui
| 4
Plan de
Présentation
Théorie1
Pratique2
| 5
Petit
Sondage
| 6
La Théorie1
Apps for SharePoint are self-contained pieces of functionality that extend
the capabilities of a SharePoint website. Apps integrate the best of the web
and SharePoint; they are targeted, lightweight, and easy-to-use, and do a
great job at solving a user need
SharePoint 2013 : Le contenu d’un site est appelé « App »
Listes, Librairies, Calendriers, …
Selon la documentation : 3 types d’Apps
| 7
Qu’est-ce qu’une
APP SharePoint 2013?
Quoi
Hébergé sur la ferme
JavaScript et HTML seulement
Sécurité
Directe
Identité de l’usager
| 8
SharePoint
Hosted
Quoi
Hébergé sur serveur indépendant
N’importe quel langage
Sécurité
OAuth ou Cross-domain library
Assignation de permissions (« I trust this App »)
Peut utiliser d’autres identités
| 9
Provider
Hosted
Quoi
Azure Web Site, SQL Azure
Seulement dans SharePoint Online
Sécurité
OAuth ou Cross-domain library
Assignation de permissions (« I trust this App »)
Peut utiliser d’autres identités
| 10
Auto
Hosted
3 contextes de sécurité
User-only
App
User + App
4 types de permissions
Read
Write
Manage
Full Control
* + Droits spéciaux pour les services (Search, BCS, Workflow …)
Dès qu’on parle d’identité:
OAuth, Cross-domain JavaScript ou certificat SSL
| 11
Sécurité et
Identité
Installation
App Store et App Catalog
Formats
AppPart : « cadre » (iFrame)
Comme un définition de WebPart
Code est ailleurs (dans App Web, sur Azure, autre serveur)
| 12
Obtenir et
Utiliser
| 13
CHOISIR LE BON
API
| 14
Accès aux
Données
Données SharePoint
Données externes
| 15
La Pratique2
Develop an app whenever you can
Design apps or NCSSs for end users and design farm solutions for
administrators
Design NCSSs for branding and template-like extensions
All future investments will go to making the new SharePoint app model
richer and more powerful. Accordingly, we recommend that all new
development should use the new app model whenever possible
In scenarios where you have to develop a farm solution or coded
sandboxed solution, we recommend that you design it so that it can easily
evolve toward a more loosely coupled development model
| 16
RECOMMENDATIONS
OFFICIELLES
Farm Solution (Code sur serveur)
Web services
Sandbox
Avec code : Désuet NE PAS UTILISER
No-Code Sandbox Solution (NCSS)
Client Application (Desktop)
C# + CSOM
Tout autre langage + Services REST
Provider Hosted App
Tout language + Services REST
Auto Hosted App
| 17
APPLICATIF SOUS
SharePoint 2013
JavaScript
SharePoint Hosted App
Code dans CEWP
JSLink / Client Side Rendering
Display Templates (Search)
Script PowerShell ( + Task Scheduler)
App pour Office (Word, Excel)
Mobile App
| 18
APPLICATIF SOUS
SharePoint 2013
Solution de ferme
Installation par un administrateur
Exécute sur le serveur
Portée : Ferme à Web
Apps or NCSS
Approbation d’un administrateur
Exécute hors-serveur
Installation par les usagers
Identité propre (Apps)
Portée : Web ou collection de site
JavaScript (JSLink, Display Templates)
Idéal pour toutes modifications de l’affichage d’un composant existant
| 19
Différences
Fondamentales
Combiner 2 ou 3 types d’Apps (Solution Hybride)
… Avec des Farm Solutions, Sandbox, PowerShell, etc.
Apps pure : Dans les cas simples seulement
Repenser votre architecture
Avant : Monolithique (un seul WSP)
Maintenant : Combinaison (best practices)
| 20
BUFFET
OUVERT
| 21
Vers l’infini
Et l’au-delà!
SharePoint
(local)
JSLink
Services Web
(Farm Sltn)
Application
RH
SharePoint Online
Auto Hosted
App
Azure Worker
Process
Sandbox
No-Code Sandbox Solution (NCSS)
Pour provisionner des entités SharePoint (champs, listes, pages)
Auto Hosted App
Logique (code) sous Azure
Peut s’intégrer avec vos services on-premises
SharePoint Hosted App
JavaScript + HTML uniquement
Peut s’intégrer avec vos services on-premises
“Because Microsoft handles all the management of SharePoint Online,
there is no need for administrative extensions”
Version de SharePoint Online change sans avertissement
pas stable, pas documentée
| 22
Apps pour
SharePoint Online
Dans le App Web:
Branding
Possible de réutiliser la feuille de style (thème)
Navigation
Vous n’êtes pas dans votre site SharePoint
(donc pas de navigation)
WebParts
Une grande partie non-disponible
Permissions, Settings, _layouts
Formulaires
À refaire presque au complet
PeoplePicker, TaxonomyPicker
| 23
À
Savoir
| 24
En Manchette
INFOPATH EST FINALEMENT
MORT
https://sps-528fad6733fd9e.spsMtl.dev/MonApp
Host Web
| 25
Questions de
Contexte
(Site
SharePoint)Données
App Web
Données et
pages à créer1 … 1
Direct
OAuth
RequestExecutor
App : Ne peut pas déployer d’éléments dans son Host Web
… Ah oui en fait (Full Control + code)
Chaque type d’architecture a des possibilités différentes
Ex: Pas de code en Sandbox, Auto Hosted vs Cloud, Branding
Farm-only:
• Définitions de Site
• Contrôle délégués
• Thèmes
• Groupes d’actions (Ruban)
• Contrôles (.ascx)
| 26
Déploiement
d’Éléments
Outils
Visual Studio 2012 et +
Visual Studio Online
Napa
N’importe quel éditeur
Site SharePoint de type « Developer Site »
SharePoint Online (pour faire Auto Hosted Apps)
Serveur dédié (pour faire Provider Hosted Apps)
| 28
CRÉER UNE
APP
Beaucoup de choix (plus que 3!!)
Il faut les connaitre pour bien choisir
Evolve toward a more loosely coupled development model
Avec le bon choix et des bonnes pratiques :
Le développement applicatif est beaucoup plus
flexible en SharePoint 2013
| 29
EN
RÉSUMÉ
Espace de Projet
Modifications sur un (gabarit de) site existant
Identité de l’usager
Plusieurs instances (1 par projet)
Portail de Gestion de Projet
Données applicatives + liens sur les sites de projet
Identité de l’usager + accès système
Installé à un endroit dans la ferme
| 30
CAS
D’Étude
Farm ou (Sandbox + JS)
Apps
Modification visuelle sur un contenu SharePoint
(Super-Calendrier, liste de tâches animée, carrousel d’images, etc.)
N par site
Données SharePoint
WebPart météo
N par site
Cadre (iFrame) seulement
Données externes
| 31
CAS
D’Étude
JSLink/CSR (JavaScript)
Apps
| 32
Questions
Merci!
Visitez-nous! – Visit Us!
Site principal / Main site – www.sharepointquebec.org
Twitter - @guspquebec
Facebook - http://www.facebook.com/groups/206445679432304/
Meetup- http://www.meetup.com/guspquebec/
LinkedIn - http://www.linkedin.com/groups?gid=149597