SlideShare une entreprise Scribd logo
1  sur  35
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

How I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with AirflowHow I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with AirflowPyData
 
C* Summit 2013: The World's Next Top Data Model by Patrick McFadin
C* Summit 2013: The World's Next Top Data Model by Patrick McFadinC* Summit 2013: The World's Next Top Data Model by Patrick McFadin
C* Summit 2013: The World's Next Top Data Model by Patrick McFadinDataStax Academy
 
ORDS - Oracle REST Data Services
ORDS - Oracle REST Data ServicesORDS - Oracle REST Data Services
ORDS - Oracle REST Data ServicesJustin Michael Raj
 
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and HadoopGoogle Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoophuguk
 
Microsoft SQL Server Query Tuning
Microsoft SQL Server Query TuningMicrosoft SQL Server Query Tuning
Microsoft SQL Server Query TuningMark Ginnebaugh
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 
Rest api standards and best practices
Rest api standards and best practicesRest api standards and best practices
Rest api standards and best practicesAnkita Mahajan
 
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewKris Rice
 
Next Generation Scheduling for YARN and K8s: For Hybrid Cloud/On-prem Environ...
Next Generation Scheduling for YARN and K8s: For Hybrid Cloud/On-prem Environ...Next Generation Scheduling for YARN and K8s: For Hybrid Cloud/On-prem Environ...
Next Generation Scheduling for YARN and K8s: For Hybrid Cloud/On-prem Environ...DataWorks Summit
 
How to Utilize MLflow and Kubernetes to Build an Enterprise ML Platform
How to Utilize MLflow and Kubernetes to Build an Enterprise ML PlatformHow to Utilize MLflow and Kubernetes to Build an Enterprise ML Platform
How to Utilize MLflow and Kubernetes to Build an Enterprise ML PlatformDatabricks
 
Introducing Workload XM 8.7.18
Introducing Workload XM 8.7.18Introducing Workload XM 8.7.18
Introducing Workload XM 8.7.18Cloudera, Inc.
 
Kafka to the Maxka - (Kafka Performance Tuning)
Kafka to the Maxka - (Kafka Performance Tuning)Kafka to the Maxka - (Kafka Performance Tuning)
Kafka to the Maxka - (Kafka Performance Tuning)DataWorks Summit
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 

Tendances (20)

Modelagem de dados
Modelagem de dados Modelagem de dados
Modelagem de dados
 
How I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with AirflowHow I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with Airflow
 
C* Summit 2013: The World's Next Top Data Model by Patrick McFadin
C* Summit 2013: The World's Next Top Data Model by Patrick McFadinC* Summit 2013: The World's Next Top Data Model by Patrick McFadin
C* Summit 2013: The World's Next Top Data Model by Patrick McFadin
 
ORDS - Oracle REST Data Services
ORDS - Oracle REST Data ServicesORDS - Oracle REST Data Services
ORDS - Oracle REST Data Services
 
Java script aula 06 - dom
Java script   aula 06 - domJava script   aula 06 - dom
Java script aula 06 - dom
 
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and HadoopGoogle Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
Google Cloud Dataproc - Easier, faster, more cost-effective Spark and Hadoop
 
Microsoft SQL Server Query Tuning
Microsoft SQL Server Query TuningMicrosoft SQL Server Query Tuning
Microsoft SQL Server Query Tuning
 
Using Embulk at Treasure Data
Using Embulk at Treasure DataUsing Embulk at Treasure Data
Using Embulk at Treasure Data
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
Rest api standards and best practices
Rest api standards and best practicesRest api standards and best practices
Rest api standards and best practices
 
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ Overview
 
Next Generation Scheduling for YARN and K8s: For Hybrid Cloud/On-prem Environ...
Next Generation Scheduling for YARN and K8s: For Hybrid Cloud/On-prem Environ...Next Generation Scheduling for YARN and K8s: For Hybrid Cloud/On-prem Environ...
Next Generation Scheduling for YARN and K8s: For Hybrid Cloud/On-prem Environ...
 
Curso de Node JS Básico
Curso de Node JS BásicoCurso de Node JS Básico
Curso de Node JS Básico
 
How to Utilize MLflow and Kubernetes to Build an Enterprise ML Platform
How to Utilize MLflow and Kubernetes to Build an Enterprise ML PlatformHow to Utilize MLflow and Kubernetes to Build an Enterprise ML Platform
How to Utilize MLflow and Kubernetes to Build an Enterprise ML Platform
 
Tomcatx performance-tuning
Tomcatx performance-tuningTomcatx performance-tuning
Tomcatx performance-tuning
 
Neoload
Neoload Neoload
Neoload
 
Introducing Workload XM 8.7.18
Introducing Workload XM 8.7.18Introducing Workload XM 8.7.18
Introducing Workload XM 8.7.18
 
Kafka to the Maxka - (Kafka Performance Tuning)
Kafka to the Maxka - (Kafka Performance Tuning)Kafka to the Maxka - (Kafka Performance Tuning)
Kafka to the Maxka - (Kafka Performance Tuning)
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 

En vedette

Art Therapy - Schematic Architecture
Art Therapy - Schematic ArchitectureArt Therapy - Schematic Architecture
Art Therapy - Schematic ArchitectureBassel Tannous
 
Art Therapy - Schematic Architecture
Art Therapy - Schematic ArchitectureArt Therapy - Schematic Architecture
Art Therapy - Schematic ArchitectureBassel 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 codeMehdi 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 - PortfolioElodie 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 orderHamdija Velagic
 
PRINCIPLES OF COMPOSITION
PRINCIPLES OF COMPOSITIONPRINCIPLES OF COMPOSITION
PRINCIPLES OF COMPOSITIONswetha 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 ArchitectureMC Tubera
 
Hospital project report
Hospital project reportHospital project report
Hospital project reportjssclinic
 
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 StartedHussain Varawalla
 
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 pptSandeep Singh
 
03 architectural principles & elements
03 architectural principles & elements03 architectural principles & elements
03 architectural principles & elementsJan Echiverri-Quintano
 

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

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 à zArnaud Auroux
 
TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMJason 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 XamarinThierry Buisson
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcoreMSDEVMTL
 
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 Flexdavid 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 Flexdavid 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 2010Microsoft
 
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 11Microsoft
 
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 PrestaShopPrestaShop
 
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 10Microsoft 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 semainesMicrosoft 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 AzureMicrosoft 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 + SecurityMicrosoft 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érationMicrosoft 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 mondeMicrosoft 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 ServiceMicrosoft 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 365Microsoft 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 MicrosoftMicrosoft 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
 
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 cloudMicrosoft 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 hybridesMicrosoft 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 moderneMicrosoft 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'InformationsMicrosoft 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
 

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