SlideShare une entreprise Scribd logo
ASP.NET MVC 5 et Web API 2
ASP.NET MVC 5 et Web
API 2
Simon FERQUEL
Senior Developer
Infinite Square
@sferquel

Julien CORIOLAND
Tech Lead Web & Cloud
Infinite Square
@beedoo

http://www.infinitesquare.com
http://blogs.infinitesquare.com
Infinite Square – stand 19
•

Société de conseil, expertise, réalisation, formation, spécialisée
dans le développement d’applications logicielles innovantes sur
les technologies Microsoft

•

100% des consultants certifiés Microsoft, parmi lesquels 10
MVP et 2 Nokia Champions

•

GOLD Certified Partner sur 5 domaines de compétences

•

Centre de formation agrée

#mstechdays
Agenda
• Quelques rappels rapides
• Quoi de neuf pour ASP.NET MVC 5(.1) et Web
API 2(.1) : plein de démos !
• Le futur est dans OWIN !
• Conclusion / Questions
#mstechdays
QUELQUES RAPPELS
Parce que revoir les bases, ça ne fait jamais de mal !

#mstechdays
ASP.NET MVC
ModelBinders

ViewModels
Annotations

Modèle

Action
Results

Validators

Actions

Contrôleur
HTML
Helpers
Razor / ASPX
jQuery

#mstechdays

Filters
Routes

Vue
ASP.NET Web API
Réception d’une requête HTTP (GET, POST, PUT,
DELETE, HEAD)

Résolution de la route / Invocation de l’action du
contrôleur
Content-Negociation (Accept HTTP Header)

Renvoi de la réponse dans le bon format

#mstechdays
QUOI DE NEUF DANS ASP.NET MVC 5 ET
WEB API 2
A chaque nouveauté sa démo !

#mstechdays
One ASP.NET
MVC

Web
Pages

Web
Forms

SPA

Sites

ASP.NET
#mstechdays

Web
API

SignalR

Services
One ASP.NET dans Visual Studio 2013

#mstechdays
ONE ASP.NET & VISUAL STUDIO
2013

#mstechdays
ASP.NET Identity
• Nouveau système de memberships
d’ASP.NET
• Authentification basée sur des claims
• Utilise des middlewares d’authentification
OWIN
#mstechdays
ASP.NET Identity
• Nouveau schéma de
stockage des
utilisateurs
– Multi-logins
– Microsoft propose une
implémentation EF Code
First

– Totalement personnalisable
#mstechdays
ASP.NET IDENTITY

#mstechdays
Attribute Routing
• Configuration des routes à l’aide
d’attributs
– Directement sur les contrôleurs / actions
– Evalués et mis en cache dans la table de
route au démarrage de l’application

• Pas de limitation par rapport à la
définition des routes
« traditionnelles »
• On peut mixer les deux
• Marche aussi avec Web API 2 !
#mstechdays
ATTRIBUTES ROUTING

#mstechdays
Web API Batching
• Permet de combiner plusieurs opérations dans une
seule requête http POST
– Réduction du trafic réseau
– Récupération de données plus adaptés aux interfaces modernes /
riches

#mstechdays
WEB API BATCHING

#mstechdays
Web API OData
• Permet d’exposer une Web API via OData, à l’aide
d’un simple attribut « Queryable »
• Quelques nouveautés avec Web API 2 :
– $select, $expand, $batch, $value
– Possibilité d’étendre les formatters Odata
– Possibilité d’utiliser un modèle de données déjà existant

#mstechdays
WEB API ODATA

#mstechdays
OWIN : c’est quoi ?
• Open Web INterface
• Abstraction du serveur web ASP.Net

Web API

ASP.Net
MVC

SignalR

...

OWIN

+ middlewares…

IIS

#mstechdays

Http
Listener

Unit test
host

…
OWIN : et les middlewares, c’est quoi ?
• Composants techniques
–
–
–
–

Logs
Authentification
Compression
Rewriting…

• Compatibles avec n’importe quel host (IIS, Self Host, custom…)
• Compatibles avec n’importe quel Framework applicatif
supportant Owin (ASP.Net WebForm, Web API, MVC, NancyFX,
Signalr…)
• Out of the box:
–
–
–
–
#mstechdays

OAuth2
CookieAuth
Facebook
Google…
OWIN : MIDDLEWARE DE LOGS
ET AUTHENTIFICATION WEB API

#mstechdays
OWIN-host alternatifs ?
• OWIN fournit des interfaces pour créer son propre
host
• Microsoft en fournit 3 :
– Host IIS
• Hébergement web classique

– http listener
• Embarqué, agent local, communication inter-processus

– Unit test
• Faciliter les tests unitaires
#mstechdays
OWIN ET TESTS UNITAIRES

#mstechdays
Petit bonus : MVC 5.1 / Web API 2.1
•

Support des énumérations dans les vues
–

Display Name, DropDownListFor

•

Unobtrusive validation pour MaxLength / MinLength

•

Possibilité de passer des html attributs aux EditorFor (enfin! )

•

MediaTypeFormatter pour BSON

#mstechdays
Conclusion / Questions
• Pas forcément énormément de nouveauté en terme de
fonctionnalités dans ASP.NET MVC 5 et Web API 2, mais…
• Enormément de nouveautés « transverses » avec OWIN,
ASP.NET Identity et surtout : « One ASP.NET ».
• Code source & démos : https://github.com/simonferquel/techdaysparis-2014-mvc-webapi
• A vos questions ! 
#mstechdays
Donnez votre avis !
Depuis votre smartphone sur :
http://notes.mstechdays.fr
De nombreux lots à gagner toute les heures !!!
Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les Techdays !

#mstechdays
Digital is
business

Contenu connexe

PPTX
ASP.NET from Zero to Hero
PPTX
ASP.NET MVC, Web API & KnockoutJS
PPTX
Soirée 3T Soat - Asp.net MVC
PDF
ASP.NET MVC 6
PDF
M20486 formation-developper-des-applications-web-asp-net-mvc-4
PDF
Introduction à ASP.NET
PPTX
Initiation à ASP.NET 4.0
PPTX
Quoi de neuf dans ASP.NET MVC 4
ASP.NET from Zero to Hero
ASP.NET MVC, Web API & KnockoutJS
Soirée 3T Soat - Asp.net MVC
ASP.NET MVC 6
M20486 formation-developper-des-applications-web-asp-net-mvc-4
Introduction à ASP.NET
Initiation à ASP.NET 4.0
Quoi de neuf dans ASP.NET MVC 4

Tendances (20)

PPT
Asp.net Présentation de L'application "Organizer"
PDF
Asp.net Tutorials de L'application "Organizer"
PPTX
ASP.Net Web API - Léonard Labat (18 février 2014)
PDF
Entity Framework 7 : nouvelle version majeure d’Entity Framework
PDF
Javascript pour les développeurs C#
PDF
ASP.NET 5: la révolution est en marche
PPTX
Angular JS - Paterne Gaye-Guingnido
PPTX
20140227 - injection de dépendances - mug lyon
PPTX
Asp.Net Web.API, SignalR et UX : le futur
PPTX
Présentation de WCF
PPT
Active Server Pages (ASP)
PPTX
De A à Z : Choisir une architecture pour sa solution applicative
PPT
Principes De Base De Asp .Net
PPTX
02 - [ASP.NET Core] ASP.NET Core MVC
PPTX
03 - [ASP.NET Core] Services RESTful et SPA
PDF
Symposium n°7 : Plateforme Meteor
PPTX
Angular2 / Typescript symposium Versusmind
PPTX
Front end, une île qui mérite d'être visitée
PPTX
Hello AngularJS - Back to the future
PPTX
Symfony with angular.pptx
Asp.net Présentation de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
ASP.Net Web API - Léonard Labat (18 février 2014)
Entity Framework 7 : nouvelle version majeure d’Entity Framework
Javascript pour les développeurs C#
ASP.NET 5: la révolution est en marche
Angular JS - Paterne Gaye-Guingnido
20140227 - injection de dépendances - mug lyon
Asp.Net Web.API, SignalR et UX : le futur
Présentation de WCF
Active Server Pages (ASP)
De A à Z : Choisir une architecture pour sa solution applicative
Principes De Base De Asp .Net
02 - [ASP.NET Core] ASP.NET Core MVC
03 - [ASP.NET Core] Services RESTful et SPA
Symposium n°7 : Plateforme Meteor
Angular2 / Typescript symposium Versusmind
Front end, une île qui mérite d'être visitée
Hello AngularJS - Back to the future
Symfony with angular.pptx
Publicité

En vedette (14)

PDF
Introduction to ASP.NET 5
ODP
Be api - Web Mobile
PDF
Mobile Inception - Web API Security
PDF
Backbonejs presentation
PDF
Web APIs in Action (in French)
PDF
ID連携入門 (実習編) - Security Camp 2016
PPTX
Web API with ASP.NET MVC by Software development company in india
PPTX
London Adapt or Die: Opening Keynote with Chet Kapoor
PPTX
Asp.Net MVC Intro
PPT
ASP.NET MVC Presentation
PPTX
ASP.NET WEB API
KEY
Introduction to ASP.NET MVC
PPTX
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs
PDF
alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...
Introduction to ASP.NET 5
Be api - Web Mobile
Mobile Inception - Web API Security
Backbonejs presentation
Web APIs in Action (in French)
ID連携入門 (実習編) - Security Camp 2016
Web API with ASP.NET MVC by Software development company in india
London Adapt or Die: Opening Keynote with Chet Kapoor
Asp.Net MVC Intro
ASP.NET MVC Presentation
ASP.NET WEB API
Introduction to ASP.NET MVC
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs
alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...
Publicité

Similaire à ASP.NET MVC 5 et Web API 2 (20)

PPTX
Le Web mobile avec ASP.Net MVC et jQuery Mobile
PPTX
Au coeur du framework .net 4.5.1
PDF
ASP.NET Web API & Azure API Management
PPT
Le Developpement Web Aspnet2 Vb2005
PPTX
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
PPTX
Vincent biret azure functions et flow (montreal)
PDF
Kit de Survie Technique « pour les nuls »
PDF
Meetup - Construire des applications serverless avec Azure
PPTX
Microsoft experiences azure et asp.net core
PDF
Softfluent speig mdday2010
PPTX
Développer ou debugger ?
PPTX
Développer une Single Page Application HTML 5 pour tous les devices
PPTX
01 - [ASP.NET Core] Plénière
PDF
XebiConFr 15 - Le challenge des microservices
PPTX
Architecturez vos applications mobiles avec Azure et Xamarin
PPTX
Accéder au développement Dot.Net et Asp.Net
PPTX
Au cœur du Framework .NET 4.5.1
PDF
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
PDF
Microservice LabsZoom.pptx.pdf
DOC
CV REBAI Hamida
Le Web mobile avec ASP.Net MVC et jQuery Mobile
Au coeur du framework .net 4.5.1
ASP.NET Web API & Azure API Management
Le Developpement Web Aspnet2 Vb2005
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
Vincent biret azure functions et flow (montreal)
Kit de Survie Technique « pour les nuls »
Meetup - Construire des applications serverless avec Azure
Microsoft experiences azure et asp.net core
Softfluent speig mdday2010
Développer ou debugger ?
Développer une Single Page Application HTML 5 pour tous les devices
01 - [ASP.NET Core] Plénière
XebiConFr 15 - Le challenge des microservices
Architecturez vos applications mobiles avec Azure et Xamarin
Accéder au développement Dot.Net et Asp.Net
Au cœur du Framework .NET 4.5.1
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Microservice LabsZoom.pptx.pdf
CV REBAI Hamida

Plus de Microsoft (20)

PPTX
Uwp + Xamarin : Du nouveau en terre du milieu
PPTX
La Blockchain pas à PaaS
PPTX
Tester, Monitorer et Déployer son application mobile
PPTX
Windows 10, un an après – Nouveautés & Démo
PPTX
Prenez votre pied avec les bots et cognitive services.
PPTX
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
PPTX
Créer un bot de A à Z
PPTX
Microsoft Composition, pierre angulaire de vos applications ?
PPTX
Les nouveautés SQL Server 2016
PPTX
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
PPTX
Administration et supervision depuis le Cloud avec Azure Logs Analytics
PDF
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
PPTX
Plan de Reprise d'Activité avec Azure Site Recovery
PPTX
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
PPTX
Transformation de la représentation : De la VR à la RA, aller & retour.
PPTX
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
PPTX
Introduction à ASP.NET Core
PPTX
Open Source et Microsoft Azure, rêve ou réalité ?
PPTX
Comment développer sur la console Xbox One avec une application Universal Win...
PPTX
Azure Service Fabric pour les développeurs
Uwp + Xamarin : Du nouveau en terre du milieu
La Blockchain pas à PaaS
Tester, Monitorer et Déployer son application mobile
Windows 10, un an après – Nouveautés & Démo
Prenez votre pied avec les bots et cognitive services.
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Créer un bot de A à Z
Microsoft Composition, pierre angulaire de vos applications ?
Les nouveautés SQL Server 2016
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Plan de Reprise d'Activité avec Azure Site Recovery
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Transformation de la représentation : De la VR à la RA, aller & retour.
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Introduction à ASP.NET Core
Open Source et Microsoft Azure, rêve ou réalité ?
Comment développer sur la console Xbox One avec une application Universal Win...
Azure Service Fabric pour les développeurs

ASP.NET MVC 5 et Web API 2

  • 2. ASP.NET MVC 5 et Web API 2 Simon FERQUEL Senior Developer Infinite Square @sferquel Julien CORIOLAND Tech Lead Web & Cloud Infinite Square @beedoo http://www.infinitesquare.com http://blogs.infinitesquare.com
  • 3. Infinite Square – stand 19 • Société de conseil, expertise, réalisation, formation, spécialisée dans le développement d’applications logicielles innovantes sur les technologies Microsoft • 100% des consultants certifiés Microsoft, parmi lesquels 10 MVP et 2 Nokia Champions • GOLD Certified Partner sur 5 domaines de compétences • Centre de formation agrée #mstechdays
  • 4. Agenda • Quelques rappels rapides • Quoi de neuf pour ASP.NET MVC 5(.1) et Web API 2(.1) : plein de démos ! • Le futur est dans OWIN ! • Conclusion / Questions #mstechdays
  • 5. QUELQUES RAPPELS Parce que revoir les bases, ça ne fait jamais de mal ! #mstechdays
  • 7. ASP.NET Web API Réception d’une requête HTTP (GET, POST, PUT, DELETE, HEAD) Résolution de la route / Invocation de l’action du contrôleur Content-Negociation (Accept HTTP Header) Renvoi de la réponse dans le bon format #mstechdays
  • 8. QUOI DE NEUF DANS ASP.NET MVC 5 ET WEB API 2 A chaque nouveauté sa démo ! #mstechdays
  • 10. One ASP.NET dans Visual Studio 2013 #mstechdays
  • 11. ONE ASP.NET & VISUAL STUDIO 2013 #mstechdays
  • 12. ASP.NET Identity • Nouveau système de memberships d’ASP.NET • Authentification basée sur des claims • Utilise des middlewares d’authentification OWIN #mstechdays
  • 13. ASP.NET Identity • Nouveau schéma de stockage des utilisateurs – Multi-logins – Microsoft propose une implémentation EF Code First – Totalement personnalisable #mstechdays
  • 15. Attribute Routing • Configuration des routes à l’aide d’attributs – Directement sur les contrôleurs / actions – Evalués et mis en cache dans la table de route au démarrage de l’application • Pas de limitation par rapport à la définition des routes « traditionnelles » • On peut mixer les deux • Marche aussi avec Web API 2 ! #mstechdays
  • 17. Web API Batching • Permet de combiner plusieurs opérations dans une seule requête http POST – Réduction du trafic réseau – Récupération de données plus adaptés aux interfaces modernes / riches #mstechdays
  • 19. Web API OData • Permet d’exposer une Web API via OData, à l’aide d’un simple attribut « Queryable » • Quelques nouveautés avec Web API 2 : – $select, $expand, $batch, $value – Possibilité d’étendre les formatters Odata – Possibilité d’utiliser un modèle de données déjà existant #mstechdays
  • 21. OWIN : c’est quoi ? • Open Web INterface • Abstraction du serveur web ASP.Net Web API ASP.Net MVC SignalR ... OWIN + middlewares… IIS #mstechdays Http Listener Unit test host …
  • 22. OWIN : et les middlewares, c’est quoi ? • Composants techniques – – – – Logs Authentification Compression Rewriting… • Compatibles avec n’importe quel host (IIS, Self Host, custom…) • Compatibles avec n’importe quel Framework applicatif supportant Owin (ASP.Net WebForm, Web API, MVC, NancyFX, Signalr…) • Out of the box: – – – – #mstechdays OAuth2 CookieAuth Facebook Google…
  • 23. OWIN : MIDDLEWARE DE LOGS ET AUTHENTIFICATION WEB API #mstechdays
  • 24. OWIN-host alternatifs ? • OWIN fournit des interfaces pour créer son propre host • Microsoft en fournit 3 : – Host IIS • Hébergement web classique – http listener • Embarqué, agent local, communication inter-processus – Unit test • Faciliter les tests unitaires #mstechdays
  • 25. OWIN ET TESTS UNITAIRES #mstechdays
  • 26. Petit bonus : MVC 5.1 / Web API 2.1 • Support des énumérations dans les vues – Display Name, DropDownListFor • Unobtrusive validation pour MaxLength / MinLength • Possibilité de passer des html attributs aux EditorFor (enfin! ) • MediaTypeFormatter pour BSON #mstechdays
  • 27. Conclusion / Questions • Pas forcément énormément de nouveauté en terme de fonctionnalités dans ASP.NET MVC 5 et Web API 2, mais… • Enormément de nouveautés « transverses » avec OWIN, ASP.NET Identity et surtout : « One ASP.NET ». • Code source & démos : https://github.com/simonferquel/techdaysparis-2014-mvc-webapi • A vos questions !  #mstechdays
  • 28. Donnez votre avis ! Depuis votre smartphone sur : http://notes.mstechdays.fr De nombreux lots à gagner toute les heures !!! Claviers, souris et jeux Microsoft… Merci de nous aider à améliorer les Techdays ! #mstechdays

Notes de l'éditeur

  • #5: Julien – 1’
  • #9: Simon
  • #10: Simon – 2’
  • #11: Simon – 1’
  • #12: Simon – 5’Création d’un nouveau projetMontrer le nouvel assistant choix technoMontrer le nouvel assistant choix authentParler de WAADConnexion au waad pour montrer l’appli déclaréeConnexion sur le backoffice ebook manager
  • #13: Julien – 2’
  • #14: Julien – 2’
  • #15: Julien – 5’Montrer l’authentification sur le front officeLe code de l’implémentation IdentityCoreMontrer la conf OWIN pour les providers externes
  • #16: Julien – 2’
  • #17: Julien – 2’
  • #18: Simon – 2’
  • #19: Simon – 2’La configLe client Win 8
  • #20: Julien – 2’
  • #21: Julien – 2’
  • #22: Simon – 2’
  • #23: Simon – 3’
  • #24: Simon – 6’Middleware de logsAuthent Web API du Front OauthDémo web view
  • #25: Julien – 2’
  • #26: Simon – 2’
  • #27: Julien – 1’
  • #28: Simon & Julien