3 Octobre 2013 Les Communautés MS
Développement Office 365 et SharePoint 2013 : Apps ou pas Apps?
Qui suis-je? Gilles Pommier Consultant sénior MCT et co-fondateur de la société SmartView http://www.smartview.fr gilles.pommier@smartview.fr Notre Offre Assistance Maîtrise d Oeuvre / Maîtrise d Ouvrage Expertises méthodologiques (CMMI, AGILE, ITIL, ) Expertises techniques (Microsoft.NET, SharePoint, ) Audits Réalisation en mode Agile
AgendaA Les différents modèles de développement pour SharePoint 2013 Les Apps, ce qu il faut retenir techniquement Matrice de décision : apps ou pas apps
Les différents modèles de développement pour SharePoint 2013
SharePoint 2013 : Tout est Apps!
Une définition utilisateur des Apps Pour SharePoint Une extension réutilisable «à la facebook»
Démo : Ajouter une App depuis le Store MS
Démo : Ajouter une App depuis le Store MS
Démo : Ajouter une App depuis le Store MS
Démo : Ajouter une App depuis le Store MS
Démo : Ajouter une App depuis le Store MS
Evolution des modèles de développement SharePoint 2007 2010 2013 IIS IIS Sandbox IIS with _api App SharePoint SharePoint SharePoint Code runs from GAC on same w3wp.exe as SharePoint web application Code runs on SPUCWorkerProcess.exe or calls client.svc (CSOM) Code runs outside of SharePoint but has trust to leverage capabilities exposed in _api
Les modèles de développement disponibles aujourd hui Les solutions de type ferme Sur les environnements on premise uniquement Accès complet au modèle objet Solution en mode bac à sable (SandBox) Disponible sur tous les environnements Accès partiel au modèle objet Serveur Dépréciées en SharePoint 2013 (oui mais : «SharePoint Sandbox isn't Dead...UserCode is») Les Apps Disponible sur tous les environnements Pas d accès au modèle objet Serveur
SharePoint Solution vs. Apps
Les avantages des Apps pour SP 2013 SIMILAIRE ON PREMISE ET ONLINE DEVELOPPEMENT POSTE CLIENT GESTION CENTRALISEE DE CATALOGUES CONNAISSANCE.NET NON OBLIGATOIRE HYBRIDE CLOUD
Pourquoi le choix d architecture est si important? Est-ce vous prévoyez d utiliser Office 365? Est-ce que vous développerez des fonctionnalités pour SharePoint encore dans 5 ans? Est-ce que vous ou votre société envisagez de tirer partie des solutions de type cloud? Est-ce que vous pensez que le développement pour SharePoint a été jusqu à présent trop complexe, trop difficile? Est-ce que vous ne voulez plus de CAML mais plutôt utiliser des technologies standard comme REST, HTML5, Javascript? Est-ce que vous souhaitez avoir la possibilité d utiliser des modèles de développement comme ASP.MVC ou du PHP
Les APPS Ce qu il faut retenir techniquement
Compléments pour Visual Studio 2012 Office Developer Tools for Visual Studio 2012 http://aka.ms/officedevtoolsforvs2012
Modèle de programmation d apps pour SharePoint
Les différentes formes d Apps pour SharePoint Full page Pages complètes dédiées. Expérience immersive complète App Parts Web Parts ajoutable dans les pages des sites SharePoint UI command extensions Extension par ajout d éléments au sein des menus contextuels ou du rubban
C est quoi une App Part? Web Part de type Iframe, échangeant des propriétés par querystring <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ClientWebPart Title="Basic app part" Name="Basic app part" Description="" > <Content Src="~remoteAppUrl/AppPartContent.html?strProp=_strProp_&intProp= _intprop_&." Type="html"/> <Properties> <Property Name="strProp" Type="string" RequiresDesignerPermission="true" DefaultValue="String default value" WebCategory="Basic app part category" WebDisplayName="A property of type string."> </Property> </Properties> </ClientWebPart> </Elements> Les propriétés sont typées : Int, Bool, String, Enum
Les différents moyens d héberger une App Cloud-hosted apps Provider-hosted app Hébergement personnalisé (exemple: IIS, Apache, etc.) SharePoint Host Web Your Hosted Site - Use server code - Receive SP events - Use OAuth to access SP Autohosted app Windows Azure + SQL Azure automatiquement provisonnés pour l app SharePoint Host Web Azure SharePoint-Hosted app SharePoint Host Web Hébergement 100% SharePoint, isolé en sous-site - Use SP artifacts & out-of-box web parts - Use HTML & JavaScript for UI & client-side logic - Use Workflows for middle tier logic SharePoint App Web
Démo : 1/ Liste Personnalisée
Démo : 2/ déploiement + autorisations
Démo : 3/ Exécution de l App URL de L App : https://8df21d66-50d8-4f89-bd59-8e7c7392282d.o365apps.net/pages/default.aspx?sphosturl=https%3a %2F%2Fsmartview2%2Esharepoint%2Ecom%2Fsites%2FReBuild&SPLan guage=fr%2dfr&spclienttag=0&spproductnumber=16%2e0%2e2016 %2E1224
Démo : Résultats sur le site SP
Matrice de décision : apps ou pas apps Les cas d utilisation
A quels moment les Apps sont les bonnes solutions? Cas où les personnalisations utilisent : Une interface plein écran Les App Parts Worflows et Remote Event Receivers Données depuis des systèmes externes Ruban personnalisé/ actions personnalisées Listes/Vues/Champs / etc personnalisés Possibilité disponible sur votre plateforme Hôte
A quels moment les Apps ne sont pas les bonnes solutions? Quelques exemples :
Les cas mitigés = Choix possibles avec les Apps pour SharePoint mais : Il existe des limitations Il existe des solutions alternatives
Cas du Branding Ces 3 solutions sont toujours les outils traditonnels pour changer le look & feel dans SharePoint A tester! Possible via event receivers, PowerShell, etc mais complexe
Exemple de Branding avec les Apps http://www.youtube.com/watch?v=wtqkjsjs55i
2 autres exemples Les Timer Jobs Non supporté directement pour les apps Données Externes BCS supporte uniquement les connexions de type ODATA pour le modèle App
«Apps ou pas apps, tel est la question» 1/2 SharePoint 2013 supporte : Pour quelle raison alors utiliser le modèle App? C est l approche recommandée pour le développement SP 2013 et les versions suivantes
«Apps ou pas apps, tel est la question» 2/2 Matrice de décision : 1) Possibilités native de SharePoint? 2) Existe-t-il déjà une app qui répond à mes besoins? 3) Personnalisation possible avec des outils lights? 4) Personnalisation possible avec le modèle App? 5) Uniquement en dernier recours farm/sandbox solution?
Comparaison des Les modèles de développement SharePoint Apps pour SharePoint Solutions de type Ferme Client Web Parts List Definitions List Instances Site Definitions Delegate Controls User Controls Site Columns Content Types Ribbon Custom Actions Timer Jobs Themes Deep Branding Remote Event Receivers Workflow App for Office User Controls and Web Parts Advanced Custom Actions Central Administration Extensions Workflow Custom Activity Menu Item Custom Actions Site Pages Application Pages Custom Field Types Global Content Types
En conclusion : La tendance aussi bien en terme de business que de technologie joue en faveur des apps Les profils des développeurs SharePoint évoluent Il faut privilégier les apps dès que c est possible Il reste BEAUCOUP de cas développements qui ne peuvent pas se développer avec les apps. Les solutions de type SandBox ne sont pas encore «obsolètes»
Des questions?
Merci
Merci à Nos Sponsors
Merci à nos partenaires et membres
Pour adhérer à l association : http://www.rebuild.f/adhesions Ou contact@communautes.ms Nous suivre sur Facebook : https://www.facebook.com/lescommunautesms Nous suivre sur Twitter : https://twitter.com/communautesms