SlideShare une entreprise Scribd logo
palais des
congrès
Paris




7, 8 et 9
février 2012
Vous êtes dans la salle 352B
Architecture, bonnes pratiques et
recettes pour la réussite de vos
projets avec ASP .NET MVC
Mardi 7 Février 2012
Rui Carvalho           Julien Corioland
Architecte             Développeur
ArtOfNet               Infinite Square
About




        A r t Of N e t
Agenda

Techniques                     Architecture
  Quel est le but de cette      Objectifs
  session ?
                                Bonnes pratiques
  Quelques rappels sur
  ASP.NET MVC                   Optimisations
  Pourquoi choisir ASP .NET     Quelques conseils
  MVC ?
  Les outils incontournables
  Tips & Tricks
Quel est le but de cette session ?
Quel est le but de cette session ?

   De quoi va-t-on parler ?
      De nos expériences ASP .NET MVC dans « la vraie vie »
      De bonnes pratiques et d’architecture
      De méthodes et d’outils !


   De quoi ne va-t-on pas parler ?
      Du fonctionnement interne d’ASP    .NET MVC
      Des spécificités et détails du Framework MVC
      Des toutes dernières news encore en beta
Quelques rappels sur ASP.NET MVC
Quelques rappels sur ASP.NET MVC



                  Modèle




            Vue            Contrôleur
Quelques rappels sur ASP.NET MVC


     Model
                                           Annotations             Validators
     Binders
                             Modèle

   View Models




                                                                   Routes
                 Vue                     Contrôleur



                   Actions
    Helpers                           Actions            Filters
                   Results
Pourquoi choisir ASP.NET MVC ?
Pourquoi choisir ASP.NET MVC?

Technique                  Projet
  Revenir aux               Structurant : Un Framework
  fondamentaux du web !     « guidé » qui repose sur des
                            conventions
  Contrôle du rendu HTML
                            Réutilisation des
  Testabilité               connaissances et/ou de
                            certaines briques existantes
  Extensibilité
                            Migration « en douceur »
                            depuis ASP.NET Webforms
  Optimisations SEO
Productivité et outils
Productivité et outils

   Scaffolding / Template T4
     Génération de code


   NuGet
    Tous les outils et Framework à portée de main !
    Mais aussi serveur de binaires


   Déploiement :
     IIS, IIS Express
     Windows Azure
DEMO

Travailler vite et bien avec les bons outils !
Tips & Tricks
Tips & Tricks

   Modèle de domaine != Modèle de vue
   Vues Typées
   Data annotations
   Validation: client / server / les deux
   Action Filters
   Pattern get (lecture) > post (écriture) > redirect
   Créez vos propres Helpers
   Adaptez les Templates aux besoins
     Vues, Partial, Display & Editor Templates
DEMO

Tips & Tricks
Architecture - Objectifs
Architecture : Objectifs

   Pensez S.O.L.I.D

      SRP
      Open/Close
      Liskov
      Interface segregation
      Dependency Inversion

   Pensez DRY, YAGNI
   Pensez Domaine
Architecture – Bonnes pratiques
Architecture : Bonnes pratiques

   Bootstrapper
   Isolation des contrôleurs / ViewModels
   Séparation UI/Code
   Découplage fonctionnel : Areas
   Indépendance de l’infrastructure
   Indépendance du domaine

   Si besoin
     Séparation lectures/écritures
     Event sourcing
Architecture : bonnes pratiques

            Presentation


            Bootstrapper       Infrastructure



     Core
                       Areas



                Site              Domain
Architecture : bonnes pratiques

   En Complément
      Tests / Non régression
      Partage des tâches
      Développement orienté « composants »
      Possibilités de substituer un ou plusieurs composant(s) en
      fonction du besoin
      Injection de dépendances
DEMO

Exemple d’une architecture type
Architecture - Données
Architecture : Données

   Polyglot Persistance
     Ne plus penser Modèle relationnel par défaut!
     Utiliser la persistance adaptée à la nature des
      données

   Adapter les différents niveaux de cache
     Action

     Request

     Session

     Application
Architecture – Optimisations & Tuning
Optimisations & Tuning




          HTML 5         Mise en cache




        Asynchrone        Temps réel
Architecture – Quelques conseils…
Rappels pratiques




         Polyglot
                     Design First
       Programming




           Value         UX
Conclusion

  ASP.NET MVC est une plateforme
  performante, structurante et évolutive
     Débuter doucement et simplement
     Montée en puissance et ROI assuré dans le temps
     Conventions et bonnes pratiques
  Migration des projets en douceur
  Réutilisation de briques logicielles et de compétences
  humaines
  Beaucoup d’outils pour se faciliter la tâche
Q&A


Vous avez des   Nous avons des
questions ?     réponses ! 
Merci!

   Rui
      rui@rui.fr
      Twitter : @rhwy
      Github: github.com/rhwy
      http://rui.fr

   Julien
        jcorioland@infinitesquare.com
        Twitter : @beedoo
        http://www.juliencorioland.net

   SampArch : https://github.com/rhwy/SampArch
Vous êtes dans la salle 352B

Contenu connexe

Tendances

RxSwift コードリーディングの勘所@社内RxSwift勉強会
RxSwift コードリーディングの勘所@社内RxSwift勉強会RxSwift コードリーディングの勘所@社内RxSwift勉強会
RxSwift コードリーディングの勘所@社内RxSwift勉強会
Yuki Takahashi
 
Devops - Microservice and Kubernetes
Devops - Microservice and KubernetesDevops - Microservice and Kubernetes
Devops - Microservice and Kubernetes
NodeXperts
 
Multiplatform architecture ribs in swift
Multiplatform architecture ribs in swiftMultiplatform architecture ribs in swift
Multiplatform architecture ribs in swift
NAVER Engineering
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Jasmine Conseil
 
Use Symfony Messenger Component and CQRS!
Use Symfony Messenger Component and CQRS!Use Symfony Messenger Component and CQRS!
Use Symfony Messenger Component and CQRS!
Žilvinas Kuusas
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
dotCloud
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
Bhargav Amin
 
Domain driven design
Domain driven designDomain driven design
Domain driven design
Amit Mukherjee
 
Docker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker Networking
Docker, Inc.
 
Microservices Testing at Scale
Microservices Testing at ScaleMicroservices Testing at Scale
Microservices Testing at Scale
VMware Tanzu
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
Bozhidar Bozhanov
 
Alfresco CMIS
Alfresco CMISAlfresco CMIS
Alfresco CMIS
Alfresco Software
 
Docker Tutorial.pdf
Docker Tutorial.pdfDocker Tutorial.pdf
Docker Tutorial.pdf
MuhammadYusuf767705
 
Domain Driven Rails
Domain Driven RailsDomain Driven Rails
Domain Driven Rails
Yan Pritzker
 
Demystifying Service Mesh
Demystifying Service MeshDemystifying Service Mesh
Demystifying Service Mesh
Mitchell Pronschinske
 
Microservices
MicroservicesMicroservices
Microservices
SmartBear
 
Kinh nghiệm triển khai Microservices tại Sapo.vn
Kinh nghiệm triển khai Microservices tại Sapo.vnKinh nghiệm triển khai Microservices tại Sapo.vn
Kinh nghiệm triển khai Microservices tại Sapo.vn
Dotnet Open Group
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an Introduction
Sanjeev Sharma
 
Container Security
Container SecurityContainer Security
Container Security
Salman Baset
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated
Alan Christensen
 

Tendances (20)

RxSwift コードリーディングの勘所@社内RxSwift勉強会
RxSwift コードリーディングの勘所@社内RxSwift勉強会RxSwift コードリーディングの勘所@社内RxSwift勉強会
RxSwift コードリーディングの勘所@社内RxSwift勉強会
 
Devops - Microservice and Kubernetes
Devops - Microservice and KubernetesDevops - Microservice and Kubernetes
Devops - Microservice and Kubernetes
 
Multiplatform architecture ribs in swift
Multiplatform architecture ribs in swiftMultiplatform architecture ribs in swift
Multiplatform architecture ribs in swift
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
Use Symfony Messenger Component and CQRS!
Use Symfony Messenger Component and CQRS!Use Symfony Messenger Component and CQRS!
Use Symfony Messenger Component and CQRS!
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
Domain driven design
Domain driven designDomain driven design
Domain driven design
 
Docker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker Networking
 
Microservices Testing at Scale
Microservices Testing at ScaleMicroservices Testing at Scale
Microservices Testing at Scale
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
 
Alfresco CMIS
Alfresco CMISAlfresco CMIS
Alfresco CMIS
 
Docker Tutorial.pdf
Docker Tutorial.pdfDocker Tutorial.pdf
Docker Tutorial.pdf
 
Domain Driven Rails
Domain Driven RailsDomain Driven Rails
Domain Driven Rails
 
Demystifying Service Mesh
Demystifying Service MeshDemystifying Service Mesh
Demystifying Service Mesh
 
Microservices
MicroservicesMicroservices
Microservices
 
Kinh nghiệm triển khai Microservices tại Sapo.vn
Kinh nghiệm triển khai Microservices tại Sapo.vnKinh nghiệm triển khai Microservices tại Sapo.vn
Kinh nghiệm triển khai Microservices tại Sapo.vn
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an Introduction
 
Container Security
Container SecurityContainer Security
Container Security
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated
 

En vedette

Déploiement de Windows 8
Déploiement de Windows 8Déploiement de Windows 8
Déploiement de Windows 8
Microsoft Technet France
 
Art Therapy - Schematic Architecture
Art Therapy - Schematic ArchitectureArt Therapy - Schematic Architecture
Art Therapy - Schematic Architecture
Bassel Tannous
 
Art Therapy - Schematic Architecture
Art Therapy - Schematic ArchitectureArt Therapy - Schematic Architecture
Art Therapy - Schematic Architecture
Bassel Tannous
 
Post moderne 04
Post moderne 04Post moderne 04
Post moderne 04Sami Sahli
 
Audit technique de code
Audit technique de codeAudit technique de code
Audit technique de code
Mehdi TAZI
 
Elodie Martin - Diplomée d'état en architecture - Portfolio
Elodie Martin - Diplomée d'état en architecture - PortfolioElodie Martin - Diplomée d'état en architecture - Portfolio
Elodie Martin - Diplomée d'état en architecture - Portfolio
Elodie Martin
 
Architecture form, space and order 1st ed.
Architecture   form, space and order 1st ed.Architecture   form, space and order 1st ed.
Architecture form, space and order 1st ed.
Adan Murillo
 
Architecture form space order
Architecture form space orderArchitecture form space order
Architecture form space order
Hamdija Velagic
 
PRINCIPLES OF COMPOSITION
PRINCIPLES OF COMPOSITIONPRINCIPLES OF COMPOSITION
PRINCIPLES OF COMPOSITION
swetha karlmarx
 
Principles of plan composition - Theory of Architecture
Principles of plan composition - Theory of ArchitecturePrinciples of plan composition - Theory of Architecture
Principles of plan composition - Theory of Architecture
MC Tubera
 
Hospital project report
Hospital project reportHospital project report
Hospital project report
jssclinic
 
Hospital Design Guide: How to Get Started
Hospital Design Guide: How to Get StartedHospital Design Guide: How to Get Started
Hospital Design Guide: How to Get Started
Hussain Varawalla
 
Apollo Hospitals
Apollo HospitalsApollo Hospitals
Apollo Hospitals
sudeep shaurya
 
Basic Theory of Architecture
Basic Theory of Architecture Basic Theory of Architecture
Basic Theory of Architecture
Architecture Faculty
 
Hospital planning and designing
Hospital planning and designingHospital planning and designing
Hospital planning and designing
Dr. Priyanka Srivastava
 
Hôpital 2.0 Où en est-on et où va-t-on?
Hôpital 2.0 Où en est-on et où va-t-on?Hôpital 2.0 Où en est-on et où va-t-on?
Hôpital 2.0 Où en est-on et où va-t-on?
Chanfi MAOULIDA
 
Final hospital planning and layout ppt
Final hospital planning and layout pptFinal hospital planning and layout ppt
Final hospital planning and layout ppt
Sandeep Singh
 
03 architectural principles & elements
03 architectural principles & elements03 architectural principles & elements
03 architectural principles & elements
Jan Echiverri-Quintano
 
Hospital planning
Hospital planningHospital planning
Hospital planning
awantika diwan
 
Corbusier et ces principe
Corbusier et ces principe Corbusier et ces principe
Corbusier et ces principe
Abd El Malek Kermache
 

En vedette (20)

Déploiement de Windows 8
Déploiement de Windows 8Déploiement de Windows 8
Déploiement de Windows 8
 
Art Therapy - Schematic Architecture
Art Therapy - Schematic ArchitectureArt Therapy - Schematic Architecture
Art Therapy - Schematic Architecture
 
Art Therapy - Schematic Architecture
Art Therapy - Schematic ArchitectureArt Therapy - Schematic Architecture
Art Therapy - Schematic Architecture
 
Post moderne 04
Post moderne 04Post moderne 04
Post moderne 04
 
Audit technique de code
Audit technique de codeAudit technique de code
Audit technique de code
 
Elodie Martin - Diplomée d'état en architecture - Portfolio
Elodie Martin - Diplomée d'état en architecture - PortfolioElodie Martin - Diplomée d'état en architecture - Portfolio
Elodie Martin - Diplomée d'état en architecture - Portfolio
 
Architecture form, space and order 1st ed.
Architecture   form, space and order 1st ed.Architecture   form, space and order 1st ed.
Architecture form, space and order 1st ed.
 
Architecture form space order
Architecture form space orderArchitecture form space order
Architecture form space order
 
PRINCIPLES OF COMPOSITION
PRINCIPLES OF COMPOSITIONPRINCIPLES OF COMPOSITION
PRINCIPLES OF COMPOSITION
 
Principles of plan composition - Theory of Architecture
Principles of plan composition - Theory of ArchitecturePrinciples of plan composition - Theory of Architecture
Principles of plan composition - Theory of Architecture
 
Hospital project report
Hospital project reportHospital project report
Hospital project report
 
Hospital Design Guide: How to Get Started
Hospital Design Guide: How to Get StartedHospital Design Guide: How to Get Started
Hospital Design Guide: How to Get Started
 
Apollo Hospitals
Apollo HospitalsApollo Hospitals
Apollo Hospitals
 
Basic Theory of Architecture
Basic Theory of Architecture Basic Theory of Architecture
Basic Theory of Architecture
 
Hospital planning and designing
Hospital planning and designingHospital planning and designing
Hospital planning and designing
 
Hôpital 2.0 Où en est-on et où va-t-on?
Hôpital 2.0 Où en est-on et où va-t-on?Hôpital 2.0 Où en est-on et où va-t-on?
Hôpital 2.0 Où en est-on et où va-t-on?
 
Final hospital planning and layout ppt
Final hospital planning and layout pptFinal hospital planning and layout ppt
Final hospital planning and layout ppt
 
03 architectural principles & elements
03 architectural principles & elements03 architectural principles & elements
03 architectural principles & elements
 
Hospital planning
Hospital planningHospital planning
Hospital planning
 
Corbusier et ces principe
Corbusier et ces principe Corbusier et ces principe
Corbusier et ces principe
 

Similaire à Architecture, bonnes pratiques et recettes pour la réussite de vos projets avec ASP.NET MVC

Prezentare ASP.Net.pptx
Prezentare ASP.Net.pptxPrezentare ASP.Net.pptx
Prezentare ASP.Net.pptx
Anastasia801190
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
Nazih Heni
 
Tech days 2012 mvvm de a à z
Tech days 2012   mvvm de a à zTech days 2012   mvvm de a à z
Tech days 2012 mvvm de a à z
Arnaud Auroux
 
TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALM
Jason De Oliveira
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC
Cellenza
 
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
Thierry Buisson
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcore
MSDEVMTL
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php ALTER WAY
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
david deraedt
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
david deraedt
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
Microsoft
 
M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4CERTyou Formation
 
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
Microsoft Technet France
 
Le Developpement Web Aspnet2 Vb2005
Le Developpement Web Aspnet2   Vb2005Le Developpement Web Aspnet2   Vb2005
Le Developpement Web Aspnet2 Vb2005Gregory Renard
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerPhilippe Sentenac
 
Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11
Microsoft
 
Créer et intégrer son thème PrestaShop
Créer et intégrer son thème PrestaShopCréer et intégrer son thème PrestaShop
Créer et intégrer son thème PrestaShop
PrestaShop
 
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
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 

Similaire à Architecture, bonnes pratiques et recettes pour la réussite de vos projets avec ASP.NET MVC (20)

Prezentare ASP.Net.pptx
Prezentare ASP.Net.pptxPrezentare ASP.Net.pptx
Prezentare ASP.Net.pptx
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 
Tech days 2012 mvvm de a à z
Tech days 2012   mvvm de a à zTech days 2012   mvvm de a à z
Tech days 2012 mvvm de a à z
 
TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALM
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC
 
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
 
CV REBAI Hamida
CV REBAI HamidaCV REBAI Hamida
CV REBAI Hamida
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcore
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
 
M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4
 
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
 
Le Developpement Web Aspnet2 Vb2005
Le Developpement Web Aspnet2   Vb2005Le Developpement Web Aspnet2   Vb2005
Le Developpement Web Aspnet2 Vb2005
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation Server
 
Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11
 
Créer et intégrer son thème PrestaShop
Créer et intégrer son thème PrestaShopCréer et intégrer son thème PrestaShop
Créer et intégrer son thème PrestaShop
 
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...
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 

Plus de Microsoft Technet France

Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex
Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex
Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex
Microsoft Technet France
 
Comment réussir votre déploiement de Windows 10
Comment réussir votre déploiement de Windows 10Comment réussir votre déploiement de Windows 10
Comment réussir votre déploiement de Windows 10
Microsoft Technet France
 
OMS log search au quotidien
OMS log search au quotidienOMS log search au quotidien
OMS log search au quotidien
Microsoft Technet France
 
Fusion, Acquisition - Optimisez la migration et la continuité des outils col...
 Fusion, Acquisition - Optimisez la migration et la continuité des outils col... Fusion, Acquisition - Optimisez la migration et la continuité des outils col...
Fusion, Acquisition - Optimisez la migration et la continuité des outils col...
Microsoft Technet France
 
Wavestone déploie son portail Powell 365 en 5 semaines
Wavestone déploie son portail Powell 365 en 5 semainesWavestone déploie son portail Powell 365 en 5 semaines
Wavestone déploie son portail Powell 365 en 5 semaines
Microsoft Technet France
 
Retour d’expérience sur le monitoring et la sécurisation des identités Azure
Retour d’expérience sur le monitoring et la sécurisation des identités AzureRetour d’expérience sur le monitoring et la sécurisation des identités Azure
Retour d’expérience sur le monitoring et la sécurisation des identités Azure
Microsoft Technet France
 
Scénarios de mobilité couverts par Enterprise Mobility + Security
Scénarios de mobilité couverts par Enterprise Mobility + SecurityScénarios de mobilité couverts par Enterprise Mobility + Security
Scénarios de mobilité couverts par Enterprise Mobility + Security
Microsoft Technet France
 
SharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationSharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle génération
Microsoft Technet France
 
Stockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le mondeStockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le monde
Microsoft Technet France
 
Bien appréhender le concept de Windows As a Service
Bien appréhender le concept de Windows As a ServiceBien appréhender le concept de Windows As a Service
Bien appréhender le concept de Windows As a Service
Microsoft Technet France
 
Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365
Microsoft Technet France
 
Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...
Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...
Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...
Microsoft Technet France
 
Comprendre la stratégie identité de Microsoft
Comprendre la stratégie identité de MicrosoftComprendre la stratégie identité de Microsoft
Comprendre la stratégie identité de Microsoft
Microsoft Technet France
 
Vous avez dit « authentification sans mot de passe » : une illustration avec ...
Vous avez dit « authentification sans mot de passe » : une illustration avec ...Vous avez dit « authentification sans mot de passe » : une illustration avec ...
Vous avez dit « authentification sans mot de passe » : une illustration avec ...
Microsoft Technet France
 
Sécurité des données
Sécurité des donnéesSécurité des données
Sécurité des données
Microsoft Technet France
 
Déploiement hybride, la téléphonie dans le cloud
Déploiement hybride, la téléphonie dans le cloudDéploiement hybride, la téléphonie dans le cloud
Déploiement hybride, la téléphonie dans le cloud
Microsoft Technet France
 
Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...
Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...
Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...
Microsoft Technet France
 
SharePoint 2016 : architecture, déploiement et topologies hybrides
SharePoint 2016 : architecture, déploiement et topologies hybridesSharePoint 2016 : architecture, déploiement et topologies hybrides
SharePoint 2016 : architecture, déploiement et topologies hybrides
Microsoft Technet France
 
Gestion de Windows 10 et des applications dans l'entreprise moderne
Gestion de Windows 10 et des applications dans l'entreprise moderneGestion de Windows 10 et des applications dans l'entreprise moderne
Gestion de Windows 10 et des applications dans l'entreprise moderne
Microsoft Technet France
 
Office 365 dans votre Système d'Informations
Office 365 dans votre Système d'InformationsOffice 365 dans votre Système d'Informations
Office 365 dans votre Système d'Informations
Microsoft Technet France
 

Plus de Microsoft Technet France (20)

Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex
Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex
Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex
 
Comment réussir votre déploiement de Windows 10
Comment réussir votre déploiement de Windows 10Comment réussir votre déploiement de Windows 10
Comment réussir votre déploiement de Windows 10
 
OMS log search au quotidien
OMS log search au quotidienOMS log search au quotidien
OMS log search au quotidien
 
Fusion, Acquisition - Optimisez la migration et la continuité des outils col...
 Fusion, Acquisition - Optimisez la migration et la continuité des outils col... Fusion, Acquisition - Optimisez la migration et la continuité des outils col...
Fusion, Acquisition - Optimisez la migration et la continuité des outils col...
 
Wavestone déploie son portail Powell 365 en 5 semaines
Wavestone déploie son portail Powell 365 en 5 semainesWavestone déploie son portail Powell 365 en 5 semaines
Wavestone déploie son portail Powell 365 en 5 semaines
 
Retour d’expérience sur le monitoring et la sécurisation des identités Azure
Retour d’expérience sur le monitoring et la sécurisation des identités AzureRetour d’expérience sur le monitoring et la sécurisation des identités Azure
Retour d’expérience sur le monitoring et la sécurisation des identités Azure
 
Scénarios de mobilité couverts par Enterprise Mobility + Security
Scénarios de mobilité couverts par Enterprise Mobility + SecurityScénarios de mobilité couverts par Enterprise Mobility + Security
Scénarios de mobilité couverts par Enterprise Mobility + Security
 
SharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationSharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle génération
 
Stockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le mondeStockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le monde
 
Bien appréhender le concept de Windows As a Service
Bien appréhender le concept de Windows As a ServiceBien appréhender le concept de Windows As a Service
Bien appréhender le concept de Windows As a Service
 
Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365Protéger vos données avec le chiffrement dans Azure et Office 365
Protéger vos données avec le chiffrement dans Azure et Office 365
 
Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...
Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...
Protéger votre patrimoine informationnel dans un monde hybride avec Azure Inf...
 
Comprendre la stratégie identité de Microsoft
Comprendre la stratégie identité de MicrosoftComprendre la stratégie identité de Microsoft
Comprendre la stratégie identité de Microsoft
 
Vous avez dit « authentification sans mot de passe » : une illustration avec ...
Vous avez dit « authentification sans mot de passe » : une illustration avec ...Vous avez dit « authentification sans mot de passe » : une illustration avec ...
Vous avez dit « authentification sans mot de passe » : une illustration avec ...
 
Sécurité des données
Sécurité des donnéesSécurité des données
Sécurité des données
 
Déploiement hybride, la téléphonie dans le cloud
Déploiement hybride, la téléphonie dans le cloudDéploiement hybride, la téléphonie dans le cloud
Déploiement hybride, la téléphonie dans le cloud
 
Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...
Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...
Supervisez la qualité des appels Skype for Business Online à l'aide de Call Q...
 
SharePoint 2016 : architecture, déploiement et topologies hybrides
SharePoint 2016 : architecture, déploiement et topologies hybridesSharePoint 2016 : architecture, déploiement et topologies hybrides
SharePoint 2016 : architecture, déploiement et topologies hybrides
 
Gestion de Windows 10 et des applications dans l'entreprise moderne
Gestion de Windows 10 et des applications dans l'entreprise moderneGestion de Windows 10 et des applications dans l'entreprise moderne
Gestion de Windows 10 et des applications dans l'entreprise moderne
 
Office 365 dans votre Système d'Informations
Office 365 dans votre Système d'InformationsOffice 365 dans votre Système d'Informations
Office 365 dans votre Système d'Informations
 

Dernier

Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
abderrahimbourimi
 
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
AlbertSmithTambwe
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
Horgix
 
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU  SOUS WINDOWSCOURS D'ADMINISTRATION RESEAU  SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
AlbertSmithTambwe
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 

Dernier (9)

Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
 
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
 
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU  SOUS WINDOWSCOURS D'ADMINISTRATION RESEAU  SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 

Architecture, bonnes pratiques et recettes pour la réussite de vos projets avec ASP.NET MVC

  • 1. palais des congrès Paris 7, 8 et 9 février 2012
  • 2. Vous êtes dans la salle 352B
  • 3. Architecture, bonnes pratiques et recettes pour la réussite de vos projets avec ASP .NET MVC Mardi 7 Février 2012 Rui Carvalho Julien Corioland Architecte Développeur ArtOfNet Infinite Square
  • 4. About A r t Of N e t
  • 5. Agenda Techniques Architecture Quel est le but de cette Objectifs session ? Bonnes pratiques Quelques rappels sur ASP.NET MVC Optimisations Pourquoi choisir ASP .NET Quelques conseils MVC ? Les outils incontournables Tips & Tricks
  • 6. Quel est le but de cette session ?
  • 7. Quel est le but de cette session ? De quoi va-t-on parler ? De nos expériences ASP .NET MVC dans « la vraie vie » De bonnes pratiques et d’architecture De méthodes et d’outils ! De quoi ne va-t-on pas parler ? Du fonctionnement interne d’ASP .NET MVC Des spécificités et détails du Framework MVC Des toutes dernières news encore en beta
  • 8. Quelques rappels sur ASP.NET MVC
  • 9. Quelques rappels sur ASP.NET MVC Modèle Vue Contrôleur
  • 10. Quelques rappels sur ASP.NET MVC Model Annotations Validators Binders Modèle View Models Routes Vue Contrôleur Actions Helpers Actions Filters Results
  • 12. Pourquoi choisir ASP.NET MVC? Technique Projet Revenir aux Structurant : Un Framework fondamentaux du web ! « guidé » qui repose sur des conventions Contrôle du rendu HTML Réutilisation des Testabilité connaissances et/ou de certaines briques existantes Extensibilité Migration « en douceur » depuis ASP.NET Webforms Optimisations SEO
  • 14. Productivité et outils Scaffolding / Template T4  Génération de code NuGet  Tous les outils et Framework à portée de main !  Mais aussi serveur de binaires Déploiement :  IIS, IIS Express  Windows Azure
  • 15. DEMO Travailler vite et bien avec les bons outils !
  • 17. Tips & Tricks Modèle de domaine != Modèle de vue Vues Typées Data annotations Validation: client / server / les deux Action Filters Pattern get (lecture) > post (écriture) > redirect Créez vos propres Helpers Adaptez les Templates aux besoins  Vues, Partial, Display & Editor Templates
  • 20. Architecture : Objectifs Pensez S.O.L.I.D  SRP  Open/Close  Liskov  Interface segregation  Dependency Inversion Pensez DRY, YAGNI Pensez Domaine
  • 22. Architecture : Bonnes pratiques Bootstrapper Isolation des contrôleurs / ViewModels Séparation UI/Code Découplage fonctionnel : Areas Indépendance de l’infrastructure Indépendance du domaine Si besoin  Séparation lectures/écritures  Event sourcing
  • 23. Architecture : bonnes pratiques Presentation Bootstrapper Infrastructure Core Areas Site Domain
  • 24. Architecture : bonnes pratiques En Complément Tests / Non régression Partage des tâches Développement orienté « composants » Possibilités de substituer un ou plusieurs composant(s) en fonction du besoin Injection de dépendances
  • 27. Architecture : Données Polyglot Persistance  Ne plus penser Modèle relationnel par défaut!  Utiliser la persistance adaptée à la nature des données Adapter les différents niveaux de cache  Action  Request  Session  Application
  • 29. Optimisations & Tuning HTML 5 Mise en cache Asynchrone Temps réel
  • 31. Rappels pratiques Polyglot Design First Programming Value UX
  • 32. Conclusion ASP.NET MVC est une plateforme performante, structurante et évolutive Débuter doucement et simplement Montée en puissance et ROI assuré dans le temps Conventions et bonnes pratiques Migration des projets en douceur Réutilisation de briques logicielles et de compétences humaines Beaucoup d’outils pour se faciliter la tâche
  • 33. Q&A Vous avez des Nous avons des questions ? réponses ! 
  • 34. Merci! Rui  rui@rui.fr  Twitter : @rhwy  Github: github.com/rhwy  http://rui.fr Julien  jcorioland@infinitesquare.com  Twitter : @beedoo  http://www.juliencorioland.net SampArch : https://github.com/rhwy/SampArch
  • 35. Vous êtes dans la salle 352B

Notes de l'éditeur

  1. HTML 5Totalement supporté par ASP.NET MVC !Mise en place de cacheOutputCacheDonutcachingAsynchronePossibilité de créer des contrôleurs asynchrones pour libérer le pool de threads IIS (facilité en ASP.NET MVC 4 / .NET 4.5)Temps réelMediator, SignalR