Dans le but d’apprendre le Framework ASP.NET MVC 2.0 j'ai réaliser une petite application sur « Visual Studio » d'un bout à l'autre, ce qui donne l'occasion d'illustrer différents concepts à la base d’ASP.NET MVC 2.0.
L’application que j'ai réaliser s’appellera «Organisez». Il s’agit d’un site web pour faciliter la recherche et l’organisation d’un événement.
------------------------------------
lien du Blog : http://nazihhenie.wordpress.com/
2. Plan
1
Introduction
Qu’est ce que .NET ?
2
3 Le Framework .Net
4 Qu’est ce qu’ASP.net ?
5
Les modèles Asp.net
6 Pratique “Organisez ”
7 Conclusion
3. Introduction
Aujourd'hui,
les technologies
Web ont
permis
aux
développeurs de rendre le Web plus utile et plus captivant. Le
Web d'aujourd'hui est le fruit des efforts constants fournis par la
communauté Open Web, qui participe à la définition des
technologies Web, telles que HTML5,PHP, CSS3 et WebGL, et
fait en sorte qu'elles soient prises en charge par tous les
navigateurs.
4. Qu’est ce que .NET ?
.NET
• Une stratégie de Microsoft et de nouvelles technologies pour fournir
des services de logiciels pour le bureau et sur le web.
• Une plate-forme de développement unifié.
• Un environnement d’exécution sécurisé.
• Le remplaçant de l’architecture 3-tiers DNA (Distribued interNet Architecture ).
Le Framework
Les langages
ASP.net
Fonctionnement
Modèles Asp.net
Objectifs
• Prendre une place prépondérante sur le Web avec la location de services.
• Proposer une interopérabilité entres les services Web à travers Internet.
• Pouvoir consommer l’Internet sur plusieurs types de support (PC, PDA, téléphone).
• Être la plate-forme de référence pour la création de Services Web XML.
Pratique
6. Les langages
.NET
Le Framework
• C#, VC++, VB.net, Jscript, Perl, Small Talk, Cobol, Fortan, …
• Les langages doivent répondre aux contraintes du CLR.
• Une classe en C# peut-être utilisée dans un programme écrit en VB.net.
Les langages
ASP.net
Fonctionnement
Modèles Asp.net
Pratique
7. Qu’est ce qu’ASP.net ?
.NET
• Version .NET d’ASP. : utilisé pour la création de site Web dynamique
Le Framework
• 3 types de pages : APSx, ASMx (assembly) pour les Web services, ASCx (control)
pour les contrôles utilisateurs.
Les langages
• ASP.net fait partie intégrante du FrameWork et bénéficie de toutes ses fonctionnalités
(classes de base).
ASP.net
Fonctionnement
• Les Pages ASP.net sont compilés et exécuté par la CLR : code managé, possibilité de
« tracing » et de « debugging ».
Modèles Asp.net
• Le code peut-être séparé totalement de la partie présentation.
Pratique
• Apparition des contrôles serveurs.
• S’appuie toujours sur IIS 5, mais multi-processus au lieu de multi-thread.
8. Les contrôles serveurs
.NET
Le Framework
• 45 contrôles disponibles (Listbox, treeview, calendar, adrotator, …)
• Exécutés sur le serveur.
• Renvoie du code HMTL au client en fonction du navigateur utilisé (compatible
Les langages
ASP.net
HTML 3.2).
Fonctionnement
• Masque au développeur la communication client / serveur.
Modèles Asp.net
• Peut agir sans rechargement de la page.
• Chaque contrôle est une classe du Framework.
Pratique
10. Asp.net Programmation Modèles
.NET
Deux modèles de programmation Asp.net sont :
Le Framework
Les langages
Web Forms
MVC
ASP.net
Fonctionnement
ASP.NET
Modèles
Asp.net
(Request, Response, Session,
Cookies, QueryString, Master Pages)
Pratique
11. Qu'est-ce que Web Forms?
.NET
Web Forms a résolu beaucoup de problèmes en créant abstraction de niveau supérieur sur le
Web apatride et le modèle avec état simulé pour les développeurs Web.
Le Framework
Les langages
ASP.net
Fonctionnement
Modèles Asp.net
ViewState (maintenir les valeurs de contrôle lors des publications) sont introduits.
Moins effort d'apprentissage
Développement rapide d'applications
Augmentation de la taille
Moins de contrôle sur HTML
URL pointent vers des pages ASPX fixes
Pratique
12. Qu'est-ce que MVC?
.NET
Le Framework
Le modèle MVC permet de créer une application permet de séparer les différentes parties
constituant une application :
La présentation des données et les interactions entre l’application et les utilisateurs.
Les langages
ASP.net
Le modèle métier, définissant les données manipulées par l’application, et les traitements
Fonctionnement
métiers.
Modèles
Asp.net
L’interaction entre les éléments de présentation de données et le modèle métier.
De faciliter les tests de l’application, afin de mieux réaliser les tests unitaires,
fonctionnels et de non-régression.
Pratique
14. Quels sont les avantages /inconvénient du MVC?
.NET
Séparation de l'orientation des préoccupations
Style Sheets, Images
Controllers
Le Framework
Les langages
ASP.net
Fonctionnement
Modèles Asp.net
Models
JavaScript
Views
Master Pages
Tests
Pratique
15. Quels sont les avantages /inconvénient du MVC?
.NET
L'état d'affichage (MVC n'a aucun état d'affichage)
Le Framework
Test Driven Development et la réutilisabilité
Les langages
Le routage d'URL et REST
ASP.net
Fonctionnement
Modèles Asp.net
Plus effort d'apprentissage (Absence de ViewStatep)
Pratique
16. Quel est le modèle à choisir?
.NET
Le Framework
Les langages
ASP.net
Fonctionnement
Modèles
Asp.net
Pratique
17. Quel est le modèle à choisir?
.NET
Les deux WebForm et MVC utilise le même noyau Asp.net Bibliothèques
et frameworks. Ce sont:
- Authentification et autorisation
- Cache de sortie, SessionState
- Configuration, déploiement Ajax et beaucoup plus ...
Le Framework
Les langages
ASP.net
Fonctionnement
Modèles Asp.net
Donc, beaucoup de compétences acquises dans Asp.net WebForm
pourraient être utilisés dans MVC mais pour avoir un développement
rapide d'applications et des Tests unitaires il faut utiliser MVC.
Pratique
19. Pratique
.NET
L’objectif :
Il s’agit d’un site web destiné à faciliter la recherche et l’organisation d’un évènement.
Les fonctionnalité :
Permet aux utilisateurs enregistrés de créer, de modifier et de supprimer des évènements.
Le Framework
Les langages
ASP.net
Fonctionnement
Modèles Asp.net
Effectuer une recherche pour trouver les prochains évènements qui auront lieu près de chez
eux.
S'ils souhaitent participer à ce évènement, ils peuvent alors se connecter ou s'inscrire sur le
site.
Pratique
20. Pratique
.NET
Niveau de présentation : ce niveau présente les postes qui hébergent les applications
Le Framework
des clients.
Les langages
Niveau d’application : Ce niveau présent le serveur web qui contient les scripts a
exécuté.
Niveau de Base de données : Ce niveau présent le serveur de base de données qui
contient des données persistantes.
ASP.net
Fonctionnement
Modèles Asp.net
Pratique
21. Pratique
.NET
Environnement de travail:
Le Framework
Les langages
La langage : c#
Le Serveur utilisé :automatiquement installé SII
Logiciel de développent: Microsoft Visual 2010
Framework: Asp.net MVC2
ASP.net
Fonctionnement
Modèles Asp.net
Pratique
25. Conclusion
Actuellement, ASP.net est l’une des technologies utilisée répandue
et efficace sur l’Internet dans le but de créer des pages Web
dynamiques. On remarque alors, le retour en force de Microsoft
surtout sur les terminaux mobiles et sur la programmation
asynchrone. Ceci nous conduit dans un monde qui change
rapidement par rapport à ce qu’on a l’habitude de faire sur les
applications web classiques.
Ensemble de langage répondant à la CLS
CLS définit les fonctionnalités auxquelles doit répondre un langage pour être « .NET Compatible »
Windows Forms, comme Les produits Visual C++ / Visual Basic
DATA & XML = ADO.net accès aux données, flux XML complet
Classes de base
CLR = Exécute le code MSIL. Managé, seule partie dépendante du système ET optimisé pour le système ,Gestion allocation, Exceptions, traitement des erreurs …
Visual Studio .Net : Produit COMMERCIALISE pour développer .net
C# plus simple que C++, plus rapide que JAVA
JVM = CLR, Java = C#, mais Java a besoin de Corba ou RMI pour faire dialoguer ses objets
ASP.net = Web Services
Beaucoup plus rapide que ASP, ET JSP
Contrôle très puissant et bluffant
Form Validator = gain en rapidité de développement
Client fait une requête de pages ASPX
On trouve la bonne page
On la compile si ce n’est pas fait
On l’assemble (composant, objets, etc…)
On l’exécute en mémoire et on la place en cache
On renvoie le code HTML de la page et des contrôles serveurs.
Au deuxième appel pas de compilation, on va chercher la page compilée en cache.
Moins effort d'apprentissage : Utiliser ViewState pour développer des applications du monde
réel avec des compétences JavaScript.
Développement rapide d'applications - je ne pense pas aucune explication n'est nécessaire pour cela. Les contrôles serveur riches, le modèle Event Driven et ViewState augmente la vitesse de développement de grande
augmentation de la tailleViewState est stockée dans la page elle-même entraîne une augmentation de la taille de page de sorte performances réduites.
Moins de contrôle sur HTML - Dans Web Forms de nombreuses fois nous ne sommes pas sûr de ce que html nous aurons à la fin qui rend l'intégration avec les frameworks JavaScript comme jQuery une tâche difficile
SEOURL pointent vers des pages ASPX fixes qui peuvent être décorés avec une certaine chaîne de requête. Ils ne sont pas faciles à utiliser et affectent SEO.
Le modèle MVC est constitué des éléments suivants :
- Le Modèle : représente la couche métier d’une application, présentant des classes permettant de créer les objets contenant des données métier manipulées par l’application au travers de traitements, constituant les services métiers.
- La Vue : elle constitue les éléments d’interface utilisateurs : pages web, contrôles Web…
- Le Contrôleur : permettant de piloter l’application, il interprète les actions à réaliser et ordonne leur exécution (lecture, traitement de données et mises à jour).
Avantage1:MVC donne des conseils sur ce type de code où Convention sur la configuration
Ne jetez pas tout votre code dans Page_Load et Button_Click
L'état d'affichage est vraiment utile pour le développement rapide Compromis de développement rapide avec des contrôles serveur et la grande taille
de la page Pas très agréable pour la taille de la page
SEO, le routage d'URL et REST - riches fonctionnalités de routage permet de traiter toutes les URL comme personne-ressource interfaces REST.
Plus effort d'apprentissage - Absence de modèle de programmation axée sur des événements et ViewState rend ASP.NET MVC, un cadre très difficile
Une des nouveautés d’ASP.NET MVC 4 est l’adaptation du style d’affichage d’une application au terminal connecté.
Parmi les avantages des Web API, on trouve un modèle de programmation HTTP moderne, la possibilité pour le client et le serveur de négocier et de déterminer le bon format pour les données retournées à partir d’une API et la flexibilité lors de l’hébergement.