SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Industrialisation
des développements d'Apps
SharePoint avec Node.JS
Guillaume Meyer – Partner @ ERYEM
A propos…
Guillaume Meyer
Founding Partner @ ERYEM
> SharePointer depuis 2001, MVP SharePoint & Yammer
> Board UGSF (User Group SharePoint France)
Publications & Evénements
• « Veille concurrentielle » (Techniques de l’ingénieur)
• « The SharePoint 2013 Cookbook » (Dunod)
• Speaker : TechDays, Collaboration Universelle en
Entreprise, SharePoint Summit Quebec…
• Articles : blog.eryem.com
Contact :
• @guillaumemeyer
• gmeyer@eryem.com
A propos…
PowerBI Yammer
Agenda
L’écosystème de développement SharePoint
Industrialisation avec les outils Node.js et Visual
Studio
Aller plus loin dans le déploiement avec Azure
Aller encore plus loin avec TypeScript
L’écosystème de
développement
SharePoint
Un peu d’histoire, perspectives
d’avenir…
Un peu d’Histoire…
Au commencement : Solutions Farm
La première tentative d’isolation : Sandbox
Le nouveau modèle : Apps
• Technologies de développement Web
• Forte isolation et sécurité
• Scalabilité
Deprecated
Sharepoint Hosted
• HTML5 + JS + CSOM / REST
Auto Hosted
• HTML5 + JS + CSOM / REST
• Azure Services auto-provisionné
Developer hosted
• HTML5 + JS + CSOM / REST
• Services Web hébergés (Exemple Access Services)
Deprecated
Node.js
Un moteur d’exécution JS côté Client et Serveur
• Open Source, énorme communauté
• Basé sur le moteur v8 de Chrome
• Un gestionnaire de paquets très riche, NPM : http://npmjs.com
• Des outils d’industrialisation développés avec Node.js
Créer des applications
• Desktop
• Mobile
• Consoles
• API / Web Services
• Web http://nodejs.org/
Node.js
Une application Web basique avec Node.JS
Industrialisation avec
les outils Node.js et
Visual Studio
Ligne de commande, assistants NTVS,
debug, profiling…
Industrialisation en ligne
de commande
Objectif : Industrialiser le développement JS
en ligne de commande
Outillages : Ordonnanceur : Grunt
• Anatomie d’une fichier : package.json & gruntfile.js
• Compilation, minification : Uglify
• Qualité du code : JSHint
• Surveillance / Déploiement : Watch
http://gruntjs.com/
Aller plus loin
avec Visual Studio
Objectif : Industrialiser un projet JS / Node.JS
dans Visual Studio
Intégration NTVS :
• Assistance NPM : Install / Update
• Debugging local / distant
• Profiling et Analyse
http://nodejstools.codeplex.com/
Aller plus loin
avec Azure…
Automatiser les déploiements sur Azure
3 étapes :
• Publication Azure : IISNode + Mode debug + Websocket
• Debugging Azure : Paramètres d'application  debug
• IISNode.yml
• Activation des websockets et du debug
• Déploiement avec Git + Azure
Aller plus loin avec
TypeScript
S’affranchir des limitations de JS
Aller plus loin
avec TypeScript
Objectif : S’affranchir des limitations de JS :
• Typage faible
• Pas d’interfaces
• Pas de classes / héritage
• Complexité pour gérer de gros projets
Tester simplement avec « Playground » : http://www.typescriptlang.org/Playground
Développer sur Node.js avec TypeScript
• Développement objet et modularité
• Intellisense : Jquery, Node, SharePoint :
• http://sptypescript.codeplex.com/
http://www.typescriptlang.org/
Aller plus loin
avec TypeScript
Quelques exemples TypeScript…
Aller plus loin
avec TypeScript
Quelques exemples TypeScript…
Aller plus loin
avec TypeScript
Démonstration TypeScript sur l’App BlingPoint
Thank you for your attention!
This presentation will be available on the
Casablanca SharePoint Days web site after the
event.
Merci de votre attention !
Cette présentation sera disponible sur le site internet
de SharePoint Days Casablanca, après l’événement.
Guillaume Meyer
N’hésitez pas à me contacter !
@guillaumemeyer
gmeyer@eryem.com

Mais conteúdo relacionado

Mais procurados

Wilfried woivré windows azure mobile services
Wilfried woivré   windows azure mobile servicesWilfried woivré   windows azure mobile services
Wilfried woivré windows azure mobile servicesAymeric Weinbach
 
Techdays azure pour les développeurs
Techdays azure pour les développeursTechdays azure pour les développeurs
Techdays azure pour les développeursAymeric Weinbach
 
Symetris présente Drupal 8 - Linux-Meetup (Montreal) 02/02/2016
Symetris présente Drupal 8 - Linux-Meetup (Montreal) 02/02/2016Symetris présente Drupal 8 - Linux-Meetup (Montreal) 02/02/2016
Symetris présente Drupal 8 - Linux-Meetup (Montreal) 02/02/2016Symetris
 
Wilfried woivré windows azure mobile services
Wilfried woivré   windows azure mobile servicesWilfried woivré   windows azure mobile services
Wilfried woivré windows azure mobile servicesAymeric Weinbach
 
Global Azure Bootcamp 2016 - Lyon : DevOps Datascience
Global Azure Bootcamp 2016 - Lyon : DevOps Datascience Global Azure Bootcamp 2016 - Lyon : DevOps Datascience
Global Azure Bootcamp 2016 - Lyon : DevOps Datascience FactoVia
 
Présentation Global Azure Bootcamp Rennes 2018
Présentation Global Azure Bootcamp Rennes 2018Présentation Global Azure Bootcamp Rennes 2018
Présentation Global Azure Bootcamp Rennes 2018Thierry Buisson
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinThierry Buisson
 
Wilfried woivré windows azure mobile services
Wilfried woivré   windows azure mobile servicesWilfried woivré   windows azure mobile services
Wilfried woivré windows azure mobile servicesAymeric Weinbach
 
Le Bulletin Azure, épisode 15
Le Bulletin Azure, épisode 15Le Bulletin Azure, épisode 15
Le Bulletin Azure, épisode 15benjguin
 
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...Vincent Thavonekham-Pro
 
GAB 2017 PARIS - Le management simplifié avec Azure Server Management Tools p...
GAB 2017 PARIS - Le management simplifié avec Azure Server Management Tools p...GAB 2017 PARIS - Le management simplifié avec Azure Server Management Tools p...
GAB 2017 PARIS - Le management simplifié avec Azure Server Management Tools p...AZUG FR
 

Mais procurados (15)

Wilfried woivré windows azure mobile services
Wilfried woivré   windows azure mobile servicesWilfried woivré   windows azure mobile services
Wilfried woivré windows azure mobile services
 
Techdays azure pour les développeurs
Techdays azure pour les développeursTechdays azure pour les développeurs
Techdays azure pour les développeurs
 
Symetris présente Drupal 8 - Linux-Meetup (Montreal) 02/02/2016
Symetris présente Drupal 8 - Linux-Meetup (Montreal) 02/02/2016Symetris présente Drupal 8 - Linux-Meetup (Montreal) 02/02/2016
Symetris présente Drupal 8 - Linux-Meetup (Montreal) 02/02/2016
 
Ze cloud chez Palo it
Ze cloud chez Palo itZe cloud chez Palo it
Ze cloud chez Palo it
 
Human talks-bootstrap
Human talks-bootstrapHuman talks-bootstrap
Human talks-bootstrap
 
Wilfried woivré windows azure mobile services
Wilfried woivré   windows azure mobile servicesWilfried woivré   windows azure mobile services
Wilfried woivré windows azure mobile services
 
Global Azure Bootcamp 2016 - Lyon : DevOps Datascience
Global Azure Bootcamp 2016 - Lyon : DevOps Datascience Global Azure Bootcamp 2016 - Lyon : DevOps Datascience
Global Azure Bootcamp 2016 - Lyon : DevOps Datascience
 
Présentation Global Azure Bootcamp Rennes 2018
Présentation Global Azure Bootcamp Rennes 2018Présentation Global Azure Bootcamp Rennes 2018
Présentation Global Azure Bootcamp Rennes 2018
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
jQuery mobile vs Twitter bootstrap
jQuery mobile vs Twitter bootstrapjQuery mobile vs Twitter bootstrap
jQuery mobile vs Twitter bootstrap
 
Wilfried woivré windows azure mobile services
Wilfried woivré   windows azure mobile servicesWilfried woivré   windows azure mobile services
Wilfried woivré windows azure mobile services
 
Le Bulletin Azure, épisode 15
Le Bulletin Azure, épisode 15Le Bulletin Azure, épisode 15
Le Bulletin Azure, épisode 15
 
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
Gab2015 vincent thavonekham_alm_devops_complète_en30_min_et_comment_gérer_la_...
 
Jquery Mobile vs Twitter Bootstrap
Jquery Mobile vs Twitter BootstrapJquery Mobile vs Twitter Bootstrap
Jquery Mobile vs Twitter Bootstrap
 
GAB 2017 PARIS - Le management simplifié avec Azure Server Management Tools p...
GAB 2017 PARIS - Le management simplifié avec Azure Server Management Tools p...GAB 2017 PARIS - Le management simplifié avec Azure Server Management Tools p...
GAB 2017 PARIS - Le management simplifié avec Azure Server Management Tools p...
 

Destaque

Conférence 2SeeU - Groupes Office 365 ou Yammer, quelle solution utiliser ?
Conférence 2SeeU - Groupes Office 365 ou Yammer, quelle solution utiliser ?Conférence 2SeeU - Groupes Office 365 ou Yammer, quelle solution utiliser ?
Conférence 2SeeU - Groupes Office 365 ou Yammer, quelle solution utiliser ?Guillaume Meyer
 
Intégrer Office 365 et votre CRM pour plus d'efficacité
Intégrer Office 365 et votre CRM pour plus d'efficacitéIntégrer Office 365 et votre CRM pour plus d'efficacité
Intégrer Office 365 et votre CRM pour plus d'efficacitéGuillaume Meyer
 
Intégrer Office 365 avec les applications métiers, retour d'expérience Salesf...
Intégrer Office 365 avec les applications métiers, retour d'expérience Salesf...Intégrer Office 365 avec les applications métiers, retour d'expérience Salesf...
Intégrer Office 365 avec les applications métiers, retour d'expérience Salesf...Guillaume Meyer
 
Un Appstore d’entreprise avec SharePoint 2013
Un Appstore d’entreprise avec SharePoint 2013Un Appstore d’entreprise avec SharePoint 2013
Un Appstore d’entreprise avec SharePoint 2013Guillaume Meyer
 
Swiss SharePoint Club - Groupes Office 365, SharePoint ou Yammer, quelle solu...
Swiss SharePoint Club - Groupes Office 365, SharePoint ou Yammer, quelle solu...Swiss SharePoint Club - Groupes Office 365, SharePoint ou Yammer, quelle solu...
Swiss SharePoint Club - Groupes Office 365, SharePoint ou Yammer, quelle solu...Guillaume Meyer
 
Eryem Talks "GED, Dématérialisation, Archivage et Sécurité avec SharePoint 2013"
Eryem Talks "GED, Dématérialisation, Archivage et Sécurité avec SharePoint 2013"Eryem Talks "GED, Dématérialisation, Archivage et Sécurité avec SharePoint 2013"
Eryem Talks "GED, Dématérialisation, Archivage et Sécurité avec SharePoint 2013"Guillaume Meyer
 
Piloter l’adoption des RSE SharePoint
Piloter l’adoption des RSE SharePointPiloter l’adoption des RSE SharePoint
Piloter l’adoption des RSE SharePointGuillaume Meyer
 

Destaque (7)

Conférence 2SeeU - Groupes Office 365 ou Yammer, quelle solution utiliser ?
Conférence 2SeeU - Groupes Office 365 ou Yammer, quelle solution utiliser ?Conférence 2SeeU - Groupes Office 365 ou Yammer, quelle solution utiliser ?
Conférence 2SeeU - Groupes Office 365 ou Yammer, quelle solution utiliser ?
 
Intégrer Office 365 et votre CRM pour plus d'efficacité
Intégrer Office 365 et votre CRM pour plus d'efficacitéIntégrer Office 365 et votre CRM pour plus d'efficacité
Intégrer Office 365 et votre CRM pour plus d'efficacité
 
Intégrer Office 365 avec les applications métiers, retour d'expérience Salesf...
Intégrer Office 365 avec les applications métiers, retour d'expérience Salesf...Intégrer Office 365 avec les applications métiers, retour d'expérience Salesf...
Intégrer Office 365 avec les applications métiers, retour d'expérience Salesf...
 
Un Appstore d’entreprise avec SharePoint 2013
Un Appstore d’entreprise avec SharePoint 2013Un Appstore d’entreprise avec SharePoint 2013
Un Appstore d’entreprise avec SharePoint 2013
 
Swiss SharePoint Club - Groupes Office 365, SharePoint ou Yammer, quelle solu...
Swiss SharePoint Club - Groupes Office 365, SharePoint ou Yammer, quelle solu...Swiss SharePoint Club - Groupes Office 365, SharePoint ou Yammer, quelle solu...
Swiss SharePoint Club - Groupes Office 365, SharePoint ou Yammer, quelle solu...
 
Eryem Talks "GED, Dématérialisation, Archivage et Sécurité avec SharePoint 2013"
Eryem Talks "GED, Dématérialisation, Archivage et Sécurité avec SharePoint 2013"Eryem Talks "GED, Dématérialisation, Archivage et Sécurité avec SharePoint 2013"
Eryem Talks "GED, Dématérialisation, Archivage et Sécurité avec SharePoint 2013"
 
Piloter l’adoption des RSE SharePoint
Piloter l’adoption des RSE SharePointPiloter l’adoption des RSE SharePoint
Piloter l’adoption des RSE SharePoint
 

Semelhante a Industrialisation des développements d'Apps SharePoint avec Node.js

Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013Microsoft Technet France
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...ENSIBS
 
TechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureTechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureJason De Oliveira
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...vlabatut
 
Expérience pratique de développement Azure
Expérience pratique de développement AzureExpérience pratique de développement Azure
Expérience pratique de développement AzureLevio
 
SharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnantSharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnantMicrosoft
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...Microsoft Technet France
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System SARL
 
Aspectize mdday2010
Aspectize mdday2010Aspectize mdday2010
Aspectize mdday2010MD DAY
 
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Cédric Leblond
 
Microsoft experiences azure et asp.net core
Microsoft experiences   azure et asp.net coreMicrosoft experiences   azure et asp.net core
Microsoft experiences azure et asp.net coreSébastien Ollivier
 
Python dans le cloud avec Windows Azure
Python dans le cloud avec Windows AzurePython dans le cloud avec Windows Azure
Python dans le cloud avec Windows AzureMicrosoft
 
20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez EngieLeClubQualiteLogicielle
 
Editeurs de logiciels, innovez avec l'Intelligence Artificielle
Editeurs de logiciels, innovez avec l'Intelligence ArtificielleEditeurs de logiciels, innovez avec l'Intelligence Artificielle
Editeurs de logiciels, innovez avec l'Intelligence ArtificielleGuillaume Renaud
 
Node.js dans Azure
Node.js dans AzureNode.js dans Azure
Node.js dans AzureMicrosoft
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System SARL
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologiewyggio
 

Semelhante a Industrialisation des développements d'Apps SharePoint avec Node.js (20)

Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
TechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureTechDays 2012 - Windows Azure
TechDays 2012 - Windows Azure
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
 
Expérience pratique de développement Azure
Expérience pratique de développement AzureExpérience pratique de développement Azure
Expérience pratique de développement Azure
 
SharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnantSharePoint & Azure, le couple gagnant
SharePoint & Azure, le couple gagnant
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
 
L'univers Android
L'univers AndroidL'univers Android
L'univers Android
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stack
 
Aspectize mdday2010
Aspectize mdday2010Aspectize mdday2010
Aspectize mdday2010
 
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
 
Microsoft experiences azure et asp.net core
Microsoft experiences   azure et asp.net coreMicrosoft experiences   azure et asp.net core
Microsoft experiences azure et asp.net core
 
Python dans le cloud avec Windows Azure
Python dans le cloud avec Windows AzurePython dans le cloud avec Windows Azure
Python dans le cloud avec Windows Azure
 
20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez Engie
 
Editeurs de logiciels, innovez avec l'Intelligence Artificielle
Editeurs de logiciels, innovez avec l'Intelligence ArtificielleEditeurs de logiciels, innovez avec l'Intelligence Artificielle
Editeurs de logiciels, innovez avec l'Intelligence Artificielle
 
Azure Serverless C2S
Azure Serverless C2SAzure Serverless C2S
Azure Serverless C2S
 
Objectif fluid<fab />
Objectif fluid<fab />Objectif fluid<fab />
Objectif fluid<fab />
 
Node.js dans Azure
Node.js dans AzureNode.js dans Azure
Node.js dans Azure
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stack
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologie
 

Industrialisation des développements d'Apps SharePoint avec Node.js

  • 1. Industrialisation des développements d'Apps SharePoint avec Node.JS Guillaume Meyer – Partner @ ERYEM
  • 2. A propos… Guillaume Meyer Founding Partner @ ERYEM > SharePointer depuis 2001, MVP SharePoint & Yammer > Board UGSF (User Group SharePoint France) Publications & Evénements • « Veille concurrentielle » (Techniques de l’ingénieur) • « The SharePoint 2013 Cookbook » (Dunod) • Speaker : TechDays, Collaboration Universelle en Entreprise, SharePoint Summit Quebec… • Articles : blog.eryem.com Contact : • @guillaumemeyer • gmeyer@eryem.com
  • 4. Agenda L’écosystème de développement SharePoint Industrialisation avec les outils Node.js et Visual Studio Aller plus loin dans le déploiement avec Azure Aller encore plus loin avec TypeScript
  • 5. L’écosystème de développement SharePoint Un peu d’histoire, perspectives d’avenir…
  • 6. Un peu d’Histoire… Au commencement : Solutions Farm La première tentative d’isolation : Sandbox Le nouveau modèle : Apps • Technologies de développement Web • Forte isolation et sécurité • Scalabilité Deprecated
  • 7. Sharepoint Hosted • HTML5 + JS + CSOM / REST Auto Hosted • HTML5 + JS + CSOM / REST • Azure Services auto-provisionné Developer hosted • HTML5 + JS + CSOM / REST • Services Web hébergés (Exemple Access Services) Deprecated
  • 8. Node.js Un moteur d’exécution JS côté Client et Serveur • Open Source, énorme communauté • Basé sur le moteur v8 de Chrome • Un gestionnaire de paquets très riche, NPM : http://npmjs.com • Des outils d’industrialisation développés avec Node.js Créer des applications • Desktop • Mobile • Consoles • API / Web Services • Web http://nodejs.org/
  • 9. Node.js Une application Web basique avec Node.JS
  • 10. Industrialisation avec les outils Node.js et Visual Studio Ligne de commande, assistants NTVS, debug, profiling…
  • 11. Industrialisation en ligne de commande Objectif : Industrialiser le développement JS en ligne de commande Outillages : Ordonnanceur : Grunt • Anatomie d’une fichier : package.json & gruntfile.js • Compilation, minification : Uglify • Qualité du code : JSHint • Surveillance / Déploiement : Watch http://gruntjs.com/
  • 12. Aller plus loin avec Visual Studio Objectif : Industrialiser un projet JS / Node.JS dans Visual Studio Intégration NTVS : • Assistance NPM : Install / Update • Debugging local / distant • Profiling et Analyse http://nodejstools.codeplex.com/
  • 13. Aller plus loin avec Azure… Automatiser les déploiements sur Azure 3 étapes : • Publication Azure : IISNode + Mode debug + Websocket • Debugging Azure : Paramètres d'application debug • IISNode.yml • Activation des websockets et du debug • Déploiement avec Git + Azure
  • 14. Aller plus loin avec TypeScript S’affranchir des limitations de JS
  • 15. Aller plus loin avec TypeScript Objectif : S’affranchir des limitations de JS : • Typage faible • Pas d’interfaces • Pas de classes / héritage • Complexité pour gérer de gros projets Tester simplement avec « Playground » : http://www.typescriptlang.org/Playground Développer sur Node.js avec TypeScript • Développement objet et modularité • Intellisense : Jquery, Node, SharePoint : • http://sptypescript.codeplex.com/ http://www.typescriptlang.org/
  • 16. Aller plus loin avec TypeScript Quelques exemples TypeScript…
  • 17. Aller plus loin avec TypeScript Quelques exemples TypeScript…
  • 18. Aller plus loin avec TypeScript Démonstration TypeScript sur l’App BlingPoint
  • 19. Thank you for your attention! This presentation will be available on the Casablanca SharePoint Days web site after the event. Merci de votre attention ! Cette présentation sera disponible sur le site internet de SharePoint Days Casablanca, après l’événement. Guillaume Meyer N’hésitez pas à me contacter ! @guillaumemeyer gmeyer@eryem.com