Développement Asp.Net et Asp.Net MVC. Pierre Couzy

Documents pareils
ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Olivier Deheurles Ingénieur conception et développement.net

Joomla! Création et administration d'un site web - Version numérique

Mise en œuvre des serveurs d application

4. SERVICES WEB REST 46

Sql Server 2000, 2005, 2008 R2 o T-SQL o Création d'un modèle de données o Full text search o Administration Oracle 9i, Oracle 11g

Notre processus d embauche

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Sébastien Sougnez 24/12/ / s.sougnez@areaprog.com 2 ans et demi d expérience

les techniques d'extraction, les formulaires et intégration dans un site WEB

Devenez un véritable développeur web en 3 mois!

Optimiser pour les appareils mobiles

CHEF DE PROJET & ARCHITECTE.NET SAMIR BENFARES FORMATION LANGUE COMPÉTENCES TECHNIQUES CERTIFICATION

Consultant.NET / SharePoint

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Bonnes pratiques de développement JavaScript

Nouveautés de Drupal 8. Léon

Point sur les solutions de développement d apps pour les périphériques mobiles

Programmation Web. Madalina Croitoru IUT Montpellier

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

AngularJS pour une application d'entreprise

SPT Description du cours NORAMSOFT SPT2013. SharePoint 2013 pour développeurs

Formations qualifiantes pour demandeurs d emploi

SharePoint 2013 Développez en.net pour personnaliser SharePoint (Apps, REST, CSOM et Azure)

Module : programmation site Web dynamique Naviguer entre les pages via site map

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur

R E S O T E L. Ingénierie des Systèmes Informatiques Réseaux et Télécommunications. Calendrier des Formations IT

flexible solutions for all projects

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Bien architecturer une application REST

Catalogue Formations Jalios

CAHIER DES CHARGES D IMPLANTATION

ASP.NET 2.0, C#, Spring.Net et NHibernate

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

< Atelier 1 /> Démarrer une application web

Francis Mignault. ! Coauteur : Expert Oracle Application Express. ! Membre du Oracle APEX Advisory Board apex.oracle.com/vote

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

Construire une application marketing Facebook sur la plateforme Windows Azure

ZABBIX est distribué sous licence GNU General Public License Version 2 (GPL v.2).

Développement logiciel, Technologies.NET

SYSTÈMES D INFORMATIONS

WebSpy Analyzer Giga 2.1 Guide de démarrage

BES WEBDEVELOPER ACTIVITÉ RÔLE

Bibliothèque Numérique L'intégrale Collection Ressources Informatiques

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Ingénieur d Etudes.NET. Involys :.NET,3.5, C#, Vb.net, Asp.net, vb6,sql server2005, Oracle8i, TFS, MSProject, UML, Rational Rose

CATALOGUE DES FORMATIONS

Fiche Technique. Cisco Security Agent

e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Développer pour Sharepoint 2010 et au-delà (aka SP Online)

INTRODUCTION AU CMS MODX

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

FileMaker Server 14. Guide de démarrage

Guide d installation BiBOARD

Diffuser un contenu sur Internet : notions de base... 13

juillet 2015 à janvier 2016

Programme ASI Développeur

Petite définition : Présentation :

formations microsoft www www www www aux nouvelles technologies Catalogue 2011 Azure Azure Azure SharePoint 2010 Surface Visual Studio Surface Surface

À qui s adresse cet ouvrage?

Livre Blanc WebSphere Transcoding Publisher

Gestion du cache dans les applications ASP.NET

Déploiement d application Silverlight

Développement d une application ASP.NET avec Base de données SQL Server

Développement d'une application Web avec ASP.NET MVC

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Catalogue des formations 2014

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Yann Struillou. Domaines de compétence. Développeur Web & Logiciels. 37 ans, en couple, 2 enfants. 19 hameau de Kerguillec Tréméoc

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

K?ellaWeb Saisie des absences, retards et sanctions APLON en mode Web

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

WORDPRESS : réaliser un site web

Conférence SIG 2011 Versailles 5-6 Octobre 2011 Atelier Technique ArcGIS for Server en 10.1

4D Web 2.0 Pack DATA LIVES HERE. TM. Internet Riche et Solutions Mobiles en toute simplicité. 4D Ajax Framework 4D Ajax for Dreamweaver 4D for Flex

INGÉNIEUR - DÉVELOPPEUR SENIOR.NET. 31 ans - 8 ans d'expérience

BIRT (Business Intelligence and Reporting Tools)

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Documentation technique

Configuration Matérielle et Logicielle AGORA V2

«Cachez-moi cette page!»

L A B U S I N E S S. d a t a g i n f o r m a t i o n g a c t i o n

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

Création d application d entreprise

WorkflowGen 6.0 Guide de mise à jour

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

INTRODUCTION À LA GESTION DE PROJET AGILE (BACKLOG, TABLEAUX DE BORD, BURNDOWN, PLANIFICATION D ITERATIONS)

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : et un masque

Freeway 7. Nouvelles fonctionnalités

Guide de migration BiBOARD V10 -> v11

FileMaker Server 12. publication Web personnalisée avec XML

Transcription:

Développement Asp.Net et Asp.Net MVC Pierre Couzy

Agenda ASP.Net a grossi Depuis ASP.Net 2 (qui est encore la version sousjacente du framework), on a vu RIA Services Ajax (Client, Serveur, Toolkit, Web services,..) Ado.Net Data Services MVC Dynamic Data Silverlight jquery.. et j en passe.

Que cherche à faire ASP.Net 4? Remettre un peu d ordre Aligner nos frameworks de développement web sur une version majeure de.net Fournir dans un seul outil les add-ons divers qui existent aujourd'hui. Rassurer sur l avenir de WebForms Structurer les offres ASP.Net de façon cohérente Prendre en compte 4 ans de feedback Améliorations de l existant Support de nouvelles techniques de développement Ajax, MVC, RIA, RAD Petits et gros gains de productivité Intellisense, déploiement, monitoring, contrôles,..

Structure d ASP.Net ASP.Net «Core» Web Forms Ajax MVC Dynamic Data Vos applis

Améliorations du cœur d ASP.Net Nouveautés Web.Config Plus petit, plus configurable Gestion du cache Extensible, réutilisable Compression des sessions Auto-démarrage des applis Web Multi-targeting

Web.Config Aujourd hui : Demain :

Web.Config Gestion des configurations : Web.Config demeure inchangé, Des extensions permettent de spécifier des transformations appliquées au déploiement Web.Debug.config, Web.Release.config, Transformations disponibles Delete, Replace, Insert, etc.

Réécriture du cache ASP.Net Vu le nombre d applications non web qui utilisent le cache d Asp.net, nous avons décidé de le découpler d Asp.Net. Nouvelles classes utilisables dès la V4, dans System.Runtime.Caching.dll Le fonctionnement est très proche de celui du cache d Asp.Net mais des points d extensibilité ont été introduits Vous pouvez bien sûr continuer de travailler avec le cache standard d Asp.Net

Gestion du cache : les fournisseurs ASP.Net 2 a brièvement eu (en beta) un cache sur disque. Il est de retour, avec des amis Disque Mémoire Cache Windows Azure CacheProvider Cache réparti (Velocity)

Fournisseurs de cache DiskCacheProvider System.Web.Caching.OutputCacheProvider Méthodes Add / Get / Set / Contains / Remove.. Déclarés dans le web.config Utilisables dans les pages et contrôles Ou dans Global.asax

Compression des sessions Optimisation pour les sessions déportées Serveur de sessions Sessions en base de données Rappel : ASP.Net permet d écrire ses propres fournisseurs de stockage de session, l équipe Velocity en fournit d ailleurs un.

Auto-démarrage des applis Web A partir d IIS 7.5 Le site se lance en deux phases : Démarrage du site mais sans ouvrir de listener http Exécution du code d initialisation (chargement des caches, etc) Démarrage des listeners Http

Et aussi RedirectPermanent <%: expression%> qui fait un HtmlEncode Améliorations de sécurité & robustesse Encodage personnalisable des flux sortants Validation des requêtes entrantes Contrôle sur la longueur max des URLs URL et Querystring Monitoring des performances d une appli spécifique dans un AppPool Multi-targeting

Quoi de neuf dans WebForms? Utilisation du nouveau moteur de routage Retouches sur le ViewState Conventions de nommage pour ClientId Simplification et améliorations des contrôles Des logos en flamme QueryExtender : ajout de filtres

Le moteur de routage Que préférez-vous : http://www.bla.com/produits.aspx?categoryid=12 http://www.bla.com/produits/bicyclettes Exploiter les paramètres par code

Le moteur de routage Utilisation déclarative des routes Pour générer les URLs Pour exploiter les paramètres

Retouches sur le ViewState Le ViewState a beaucoup maigri depuis Asp.Net 1 Meilleure sérialisation, utilisation de ControlState, etc. Il reste une limitation : si votre conteneur vous interdit d utiliser le ViewState, vous n y avez pas droit. Désactiver le ViewState de façon sélective peut vite devenir un cauchemar ASP.Net 4 introduit l attribut ViewStateMode

ViewStateMode Valeurs possibles de ViewStateMode Enabled : ce contrôle a un ViewState Disabled : ce contrôle n a pas de ViewState Inherit (défaut): ce contrôle reprend le comportement de son conteneur Préséance entre les attributs EnableViewState et ViewStateMode : ViewStateMode n est pas pris en considération si EnableViewState vaut False, pour le contrôle ou un de ses conteneurs

ClientId Les contrôles ASP.Net ont un nom côté serveur, et un autre côté client. La propriété ClientIDMode permet de spécifier la convention de nommage du contrôle côté client AutoID : comme par le passé Static : identique au nom serveur Predictable : contient la clé de votre datasource (précisée par l attribut ClientIDRowSuffix) Inherit <span id="lbltest">test</span> <asp:content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <asp:label ID="lblTest" ClientIDMode="Static" runat="server Text="Test"> </asp:label> </asp:content>

Changements dans le rendu Pour prendre en compte les standards (XHTML, mais aussi accessibilité, et CSS), ASP.Net 4 change le rendu de bon nombre de contrôles Disparition de l attribut enabled sauf pour les contrôles de saisie, remplacé par un attribut de classe Suppression des DIV autour des champs cachés Suppression du Border=0 pour certains tableaux et images etc. Ce comportement peut modifier l aspect de vos pages, il est donc désactivable

Nouveautés dans les contrôles ListView : plus besoin de déclarer un LayoutTemplate CheckBoxList, RadioButtonList Rendu possible en Listes HTML pour habillage par CSS (RepeatLayout=OrderedList) Le contrôle Menu Rendu par <ul><li> au lieu de tableaux Navigation au clavier

Contrôle de graphe 35 styles de graphiques Support 2D/3D Utilise le Data Binding

QueryExtender Le contrôle QueryExtender fonctionne sur des sources LINQ (LinqToSql, Entity Framework, LinqToObjects). Il étend la requête avant son exécution pour prendre en compte des critères supplémentaires

QueryExtender Extensions possibles : SearchExpression RangeExpression PropertyExpression OrderByExpression (et ThenByExpression) CustomExpression ControlFilterExpression, DynamicFilterExpression Pour Dynamic Data

Nouveautés Ajax Ajax Control Toolkit : nouveaux contrôles Templates côté client jquery Microsoft Ajax CDN

Ajax Control Toolkit Projet CodePlex comportant des contrôles et des extendeurs Ajax. Utilisables dans VS 2008 et VS 2010 Nouveautés : SeaDragon AsyncFileUpload

Templates client Un moteur de rendu client Basé sur des templates pour une plus grande souplesse Garde un markup très lisible dans la page Utilisation de Javascript par le développeur possible, mais pas obligatoire Bonne intégration avec les autres composants Javascript/Ajax

Que peut faire ce moteur de rendu? Récupérer une version client des données d un Web Service (wcf/adods/asmx/rest) du rendu par templates : class="sys-template" Binding simple : {{ expression }} Binding bi-directionnel : {binding champ } Du suivi de modifications DataContext client De la propagation serveur des modifications De la manipulation Ado.Net Data Services AdoNetDataContext

jquery Librairie open source (MIT) intégrée telle quelle à VS2010 et supportée par Microsoft Sélecteur très puissant : $(':text') => toutes les textbox $('#GridView1 tr:first') => Première ligne de la GridView1 Chaînage : $(':text').val().focus(function() {$(this).css('color', 'red');}); jquery.each() : Base du traitement par lots

jquery ou MS Ajax? Vous pouvez les combiner ASP.NET AJAX jquery AJAX Requests Composants et Contrôles Client Templates AJAX Control Toolkit Sélecteurs Animations Plugins

Asp.Net MVC ASP.NET Dynamic Data Présentation ASP.NET WebForms ASP.NET MVC ASP.NET Core Runtime

Pour mieux définir les responsabilités Master Page Control Control Control Control Page Control Control Html Couche de présentation Logique métier Accès données Control Control Structurer une appli WebForms demande de la discipline

Peu d influence sur le rendu.. Encore une fois, cette situation n est pas systématique en WebForms.

Code difficile à tester Logic UI

MVC = Modèle-Vue-Contrôleur Contrôleur (Point d entrée) Vue (Présentation) Modèle (Métier)

Fonctionnement Requête Contrôleur Contrôleur Gère les entrées (requêtes HTTP) Réponse Vue Vue Représentation IHM du modèle

Buts de conception de MVC Faciliter la conception de sites testables Donner le contrôle complet du rendu Travailler sur une sémantique REST Forcer la structuration des applications Proposer une bonne extensibilité

Extensibilité Chaque brique peut être remplacée par votre propre implémentation Action Filters Model Binders Controller Builder Controller Factory Controller Controller Action Invoker View View Engine Action Result

Asp.Net MVC Un autre modèle de développement Web Ne remplace pas WebForms Intéressant si vous voulez Imposer une bonne structure à vos applis Avoir des sites adaptés aux tests unitaires Contrôler avec précision le rendu HTML de vos pages Asp.Net MVC est à Asp.Net ce qu ATL est à MFC : Plus petit Plus élégant Moins orienté RAD

Asp.Net MVC en français 7 ateliers pour tout découvrir de MVC En ligne sur le site MSDN http://msdn.microsoft.com/fr-fr/asp.net Dans les coach Asp.Net Fait par David Rousset