« ASP.NET » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Silex6 (discuter | contributions)
→‎Programmation : +histoire de Web forms
Ligne 54 : Ligne 54 :
* Validation controls: ils offrent la possibilité d'effectuer des vérifications des actions de l'utilisateur<ref name="liberty" />.
* Validation controls: ils offrent la possibilité d'effectuer des vérifications des actions de l'utilisateur<ref name="liberty" />.
* User controls et server controls: Il s'agit de widgets créés par les développeurs pour leurs besoins<ref name="liberty" />.
* User controls et server controls: Il s'agit de widgets créés par les développeurs pour leurs besoins<ref name="liberty" />.

Ce style de programmation est rendu possible par le [[framework]] ''Web forms'' incorporé dans ASP.NET. Ce framework permet de mettre en oeuvre une [[interface graphique]] à l'aide d'un groupe d'[[objet (informatique)|objets]] qui peuvent être transformés en HTML<ref>{{en}}Adam Freeman, ''Pro ASP.NET MVC 5'', Apress - 2014,{{ISBN|9781430265306}}</ref>. Par ce framework Microsoft a tenté de faire abstration du langage [[HTML]] et du protocole [[HTTP]] auquel les ingénieurs n'étaient pas encore familiers<ref>{{en}}Adam Freeman, ''Pro ASP.NET MVC 5'', Apress - 2014,{{ISBN|9781430265306}}</ref>.


=== Exemple de page ASP.NET ===
=== Exemple de page ASP.NET ===

Version du 2 janvier 2017 à 18:59

ASP.NET

Informations
Développé par Microsoft
Première version
Dernière version 4.6 ()
Dépôt github.com/aspnet/AspNetWebStackVoir et modifier les données sur Wikidata
Environnement Microsoft Windows
Type programmation web
Licence propriétaire, Licence Apache depuis la version 5[1]
Site web www.asp.net

ASP.NET
Caractéristiques
Extension
.aspx, .ascx, .ashx
Type MIME
text/html
Développé par
Version initiale
Site web

ASP.NET est une technique pour générer à la demande des pages web, lancée par Microsoft en juillet 2000[2], et utilisée pour mettre en œuvre des applications web[3]. Il s'agit d'une évolution majeure d'Active Server Pages (ASP, alias Classic ASP), par laquelle cette technique a été incorporé dans la plateforme Microsoft .NET[4].

Le moteur d'ASP.NET est un filtre branché sur le serveur web Internet Information Services (IIS). Il est distribué avec le framework .NET. ASP.NET peut être utilisé avec n'importe quel langage de programmation pour la plateforme .NET (Visual Basic .NET, C#, JScript[4]…).

Principes

ASP.NET est une technique pour générer des pages web dynamiques. Une page ASP.NET est composée de deux parties : d'un côté du code HTML, et de l'autre des instructions de programme[3]. Ces instructions sont utilisées pour générer le résultat d'une demande de page qui sera envoyée au navigateur web. Le résultat que reçoit le navigateur est du HTML ordinaire[5]. Une page ASP.NET comporte des Web controls — des portions d'HTML qui peuvent être modifiées par programmation[4].

Le moteur d'ASP.NET est un filtre, branché sur le serveur web IIS par son interface de programmation ISAPI[3]. Le moteur ASP.NET est distribué avec le framework .NET[4]. Il peut être utilisé avec n'importe quel langage de programmation pour la plateforme .NET (Visual Basic .NET, C#, JScript[4]…). Les sites web ASP.NET sont couramment développés en utilisant un serveur web simplifié, installé sur l'ordinateur personnel du développeur[4].

Successeur d'ASP

ASP.NET est une évolution majeure d'ASP par laquelle il a été incorporé dans la plateforme .NET[4].

Il y a des différences significatives entre ASP.NET et son prédécesseur ASP[2] :

  • en ASP.NET les programmes sont compilés, alors qu'en ASP ils sont interprétés ;
  • en ASP.NET le code source des programmes est séparé du contenu HTML, alors qu'en ASP ils sont mélangés ;
  • en ASP.NET la programmation est plus fortement événementielle qu'en ASP.

Ces différences simplifient la programmation, et permettent de réaliser plus facilement des applications web[2]. De plus Visual Studio .NET — l'outil destiné à créer des applications utilisant ASP.NET — comporte un débogueur, un éditeur de page web WYSIWYG, un éditeur de texte avec coloration syntaxique, autocomplétion (technologie nommée IntelliSense) et vérification syntaxique en cours de frappe, ce qui simplifie encore davantage le travail de programmation[2].

Programmation

La programmation sur ASP.NET est orientée événement, un événement = quelque chose s'est passé. Dans ce style de programmation le système attend qu'il se passe quelque chose, par exemple que l'utilisateur presse sur un bouton. Une fonction est associée à cet événement, et cette fonction sera exécutée automatiquement par le système lorsque l'utilisateur effectue l'action[2]. En ASP.NET la page web et la plupart des widgets peuvent provoquer des événements. Des événements correspondent également au démarrage de l'application ou à la connexion d'un utilisateur. Des événements peuvent correspondre à des actions effectuées sur le navigateur web, qui peuvent être parfois traités avec du retard, du fait qu'ASP.NET est exécuté par le serveur web[2].

ASP.NET comporte plusieurs lots de widgets (controls) qui peuvent être utilisés dans les pages web[2]:

  • Html controls: les balises HTML correspondant à des widgets tels que boutons d'action, des boutons radio ou des cases à cocher[2].
  • Html server controls: il s'agit des balises HTML qui peuvent être manipulées par programmation. De nombreuses balises html peuvent être converties en Html server control en leur ajoutant l'attribut runat="server"[2].
  • ASP Web controls: ils offrent les mêmes possibilités que les balises HTML, mais une programmation plus simple. Les balises pour ces widgets commencent par les lettres asp:. exemple:<asp:Button ... runat="server" />. Ces widgets sont transformées en HTML par ASP.NET avant d'être envoyés au navigateur web. Le résultat de la transformation peut différer selon le navigateur utilisé[2].
  • Parmi les ASP Web controls, il y en a qui permettent d'afficher des tableaux contenant des données obtenues par programmation et d'autres qui permettent d'afficher un calendrier ou l'utilisateur peut choisir une date[2].
  • Validation controls: ils offrent la possibilité d'effectuer des vérifications des actions de l'utilisateur[2].
  • User controls et server controls: Il s'agit de widgets créés par les développeurs pour leurs besoins[2].

Ce style de programmation est rendu possible par le framework Web forms incorporé dans ASP.NET. Ce framework permet de mettre en oeuvre une interface graphique à l'aide d'un groupe d'objets qui peuvent être transformés en HTML[6]. Par ce framework Microsoft a tenté de faire abstration du langage HTML et du protocole HTTP auquel les ingénieurs n'étaient pas encore familiers[7].

Exemple de page ASP.NET

Partie HTML :

<form runat="server">
    <asp:Label id="lblMessage" runat="server"></asp:Label>
</form>

Partie code source (exemple en Visual Basic.NET) :

Sub Page_Load()
    lblMessage.Text = "Hello world!"
End Sub

[5]

Types de fichiers

extension Utilisation remarque
.aspx Les pages web ASP.NET
.asax contient les récepteurs pour les événements en rapport avec l'application ou la session utilisateur Un seul fichier global.asax
.ascx Les widgets créés par les programmeurs pour leurs besoins
.asmx les service web ASP.NET
.config les fichiers de configuration au format XML le principal fichier est web.config
.cs code source en langage C#
.vb code source en langage Visual Basic .NET
.js scripts en langage Javascript

[8]

Fonctionnement

Le pipeline d'ASP.NET.

Le moteur d'ASP.NET est un filtre, branché sur le service web IIS par son interface de programmation ISAPI[3]. Le filtre — une DLL — est chargé en mémoire à la première utilisation, puis pour chaque demande de page web il lit un modèle de page, puis exécute des instructions qui vont altérer le contenu de la page et renvoie le résultat à IIS, qui le transmet au client[3].

L'interface ISAPI est également utilisée pour d'autres langages web tels que PHP ou Perl[9]. Cette interface utilise la technologie COM. Microsoft fournit très peu de documentation à son sujet[9].

Le moteur ASP.NET fonctionne avec un pipeline de traitement des requêtes web: Lorsque l'utilisateur navigue sur un hyperlien, une demande est envoyée au serveur web IIS. La demande traverse ensuite le pipeline d'ASP.NET jusqu'au point de sortie ou un développeur d'application peut attacher le code nécessaire au traitement de cette demande[9]. Le moteur est indépendant du serveur web IIS[9].

Lorsque le serveur web reçoit une demande de page web, il détermine tout d'abord s'il s'agit de contenu statique (enregistré dans un fichier) ou de contenu dynamique (généré sur demande)[4]. L'examen tient compte de l'extension du fichier. Selon la configuration, les fichiers qui se terminent par .aspx, .asax, .ascx, .ashx, .asmx, .axd ou .svc seront transmis à ASP.NET via aspnet_isapi.dll, une bibliothèque branchée à l'interface ISAPI de IIS. La requête sera envoyée à un récepteur différent selon son extension[9]. ASP.NET exécute ensuite un programme, puis le résultat du programme est renvoyé au serveur web qui le transmettra au navigateur web à l'origine de la demande.

Les pages web (.aspx) ainsi que des service web (.asmx) sont mis en œuvre en utilisant deux récepteurs intégrés à ASP.NET. Beaucoup de développeurs d'application se servent uniquement de ces deux récepteurs et le fait qu'il est possible pour les développeurs d'application de brancher leur propre récepteur est souvent inconnu ou pas maîtrisé[9]. Le récepteur pour les fichiers .asmx est cependant dépassé par Windows Communication Foundation, disponible depuis la version 3.0 du framework .NET[9].

Quelques exemples d'applications

Notes et références

  1. http://www.dotnetfoundation.org/aspnet-5
  2. a b c d e f g h i j k l et m Jesse Liberty - Dan Hurwitz, Programming ASP.NET, "O'Reilly Media, Inc." . 2003, (ISBN 9780596004873)
  3. a b c d et e Keyton Weissinger, ASP in a Nutshell: A Desktop Quick Reference, "O'Reilly Media, Inc." - 2000, (ISBN 9781449379599)
  4. a b c d e f g et h Scott Mitchell, Sams Teach Yourself ASP.NET 4 in 24 Hours, Pearson Education - 2010, (ISBN 9780132171694)
  5. a et b Chris Ullman - John Kauffman - Chris Hart - David Sussman, Beginning ASP.NET 1.1 with VB.NET 2003, John Wiley & Sons - 2004, (ISBN 9780764568855)
  6. (en)Adam Freeman, Pro ASP.NET MVC 5, Apress - 2014, (ISBN 9781430265306)
  7. (en)Adam Freeman, Pro ASP.NET MVC 5, Apress - 2014, (ISBN 9781430265306)
  8. Steven A. Smith,ASP.NET by Example,Que Publishing - 2002, (ISBN 9780789725622)
  9. a b c d e f et g Joerg Krause, Pro ASP.NET Extensibility, Apress - 2009, (ISBN 9781430219835)

Voir aussi

Articles connexes

Liens externes

  • ASP.NET Le site de ASP.NET de Microsoft