Chapitres  
   
Page HTML Statique
Page Formulaires et CGI
Page ISAPI
Page ASP
Page ASPNET

Histoire de la technologie ASP

Page Page d' acceuil
Page Sommaire
Page Retour
Page Suivant
Page imprimer
Page Envoyer à un(e) ami(e)

Limites de l'HTML statique :

Comment foctionne une page Web classique ?

Lorsque vous souhaitez visiter un site, vous saisissez dans la zone adresse de votre navigateur, son URL ( Uniform Ressource Locator ) par exemple: www.cours-gratuit.com

Votre navigateur renvoie une requête au serveur www.cours-gratuit.com pour recevoir la première page du site qui se nomme :
index.htm ou default.htm ( chez Microsoft ), le serveur trouve cette page sur le disque de votre hébergeur et le renvoie au navigateur.

Lorsque le navigateur reçoit la page, il lit les balises HTML puis les convertit en affichant une page à la disposition conforme aux balises de présentation, le HTML n'est qu'un langage de balises de mise en forme et mise en page. Si la page contient des liens dit hypertextes, lorsque vous cliquez sur ces derniers le processus recommence avec comme variable de recherche un nouveau nom de page.

Cest ainsi qu'est né le World Wide Web en 1992 sur les directives de Tim Berners-Lee

Le World Wide Web était à l'origine un moyen d'afficher du texte indépendant de la plate forme matériel et de naviguer facilemment pour accèder à de l'information constituée uniquemment de texte et d'images.

Cette technique est nommée : HTML statique

 

Formulaires et CGI :

La limite du HTML réside dans le fait qu'il n'a été conçu à l'origine uniquemment pour distribuer du contenu, et vous ne pouvez pas envoyer de l'information vers le serveur.

Pour palier à cette limitation , les formulaires et l'interface CGI ( Common Gateway Interface ) ont été créés.

Un formulaire est composé de balises HTML spéciales qui permettent la gestion de contrôles comme des cases à cocher, bouton radio, zones de saisie, ainsi l'utilisateur peut transmettre de l'information au serveur grâce à un bouton envoyer

Que faut-il pour faire fonctionner ce bouton, il faut écrire un programme qui s'exécutera sur le serveur Web, c'est le fameux CGI.

CGI n'est pas un langage informatique, c'est une interface avec le serveur Web; vous pouvez écrire une application exploitant CGI dans différents langages comme PERL, C ou C++ etc..

Ce système fonctionne pour des applications simples mais dès que 100 personnes remplissent un formulaire, 100 copies de l'application s'exécutent en même temps, c'est un bon moyen d'écrouler un serveur Web.

Serveur ISAPI :

Pour palier au ralentissement des serveurs Microsoft a créé des API( Application Programmation Interface  ) dédiée au serveur , son nom ISAPI qui signifie Internet Server Application Programmation Interface .

Ces applications étaient écritent en C ou C++ l'écriture d'une application représentant une lourde charge de travail, cette technique ne rencontra pas un vif succès.

La pemière version d'ASP :

En 1996 Micosoft annonce la disponibilité d'une nouvelle technologie pour la création d'applications Web: les Active Server Page aussi nommée ASP à ne pas confondre avec les Applications Server Provider ( ou Fournisseur de Services Internet )

Avec CGI ou ISAPI il fallait écrire un programme qui comprend du code d'interface complexe le connecant au serveur. Ensuite il fallait le compiler et l'associer au code HTML.

Avec ASP vous écrivez le code directemment dans la page HTML, les balises HTML et le code de votre application cohabitent dans la même page. ASP est donc un langage simple et facile à apprendre.

ASP rencontra un vif succès et permit la création de nombreux sites yamiques et paticulièremmen de nombreux sites de commerce électronique .

ASP fut égalemment victime de son succès, et des développements de plus en plus complexes donnèrent naissance à un code de plus en plus lourd.Ainsi se succèdèrent les différentes versions ASP1, ASP2 et ASP3

Naissance d'ASP.NET (2002):

Devant l'évolution et la demande des développeurs Microsoft a entièremment repensé le processus.

ASP.NET n'est pas une simple mise à jour et permet de gérer un projet au fur et à mesure de sa complexité

ASP.NET est une infrastructure de programmation intégrée au Common Language Runtime et utilisable sur un serveur pour générer des applications Web puissantes. ASP.NET offre plusieurs avantages importants par rapport aux modèles de développement Web précédents

Amélioration des performances. le code est compilé lorsque la page est appelée la première fois ASP.NET est du code Common Language Runtime compilé qui s'exécute sur le serveur. Contrairement à ses prédécesseurs interprétés, ASP.NET peut immédiatement profiter de la liaison anticipée, de la compilation juste-à-temps, de l'optimisation native et des services de mise en cache. Cela permet d'améliorer considérablement les performances avant même d'écrire une ligne de code.


• Prise en charge d'un outil de haute tenue
. L'infrastructure ASP.NET comprend une boîte à outils variée et un concepteur dans l'environnement de développement intégré Visual Studio. L'édition WYSIWYG, le glisser-déplacer des contrôles serveur et le déploiement automatique ne sont qu'une partie des fonctionnalités proposées par cet outil puissant.


• Puissance et souplesse
. Comme ASP.NET est fondé sur le Common Language Runtime, la puissance et la souplesse de la totalité de cette plate-forme sont mises à la disposition des développeurs d'applications Web. La bibliothèque de classes .NET Framework, la messagerie et des solutions d'accès aux données sont toutes parfaitement accessibles sur le Web. ASP.NET est également indépendant du langage. Vous pouvez donc choisir le langage le mieux adapté à votre application ou diviser votre application entre plusieurs langages. En outre, l'interopérabilité du Common Language Runtime garantit la pérennité de l'investissement déjà consenti dans le développement COM, lors de la migration vers ASP.NET.


• Simplicité. ASP.NET facilite l'exécution de tâches courantes, allant du simple envoi de formulaires et authentification des clients au déploiement et à la configuration du site. Par exemple, l'infrastructure de page ASP.NET vous permet de générer des interfaces utilisateur qui séparent proprement la logique d'application du code de présentation et gèrent les événements dans un modèle de traitement des formulaires simple de type Visual Basic. En outre, le Common Language Runtime simplifie le développement avec des services de code managé, tels que le décompte automatique de références et le garbage collector (le Ramasse Miette assurre une Meilleure gestion mémoire ).


• Gestion aisée. ASP.NET utilise un système de configuration hiérarchique basé sur du texte, qui simplifie l'application de paramètres à votre environnement serveur et à vos applications Web. Comme les informations de configuration sont enregistrées sous la forme de texte brut, de nouveaux paramètres peuvent être appliqués sans recourir aux outils d'administration locaux. Cette philosophie d'absence d'administration locale s'étend également au déploiement des applications ASP.NET Framework. Pour déployer une application ASP.NET Framework sur un serveur, il suffit de copier les fichiers nécessaires sur ce dernier. Aucun redémarrage du serveur n'est nécessaire, même pour déployer ou remplacer le code compilé en cours d'exécution.


•Évolutivité et disponibilité
. ASP.NET a été conçu pour évoluer, grâce à des fonctionnalités spécialement adaptées à l'amélioration des performances dans des environnements ordonnés en clusters et multiprocesseurs. Par ailleurs, les processus sont étroitement supervisés et managés par le runtime de ASP.NET, de sorte que si l'un d'eux a un comportement anormal (fuites, blocages), un nouveau processus peut être créé pour le remplacer, ce qui permet à votre application d'être constamment disponible pour le traitement des demandes.


• Personnalisation et extensibilité.
ASP.NET propose une architecture bien organisée permettant aux développeurs d'insérer leur code au niveau approprié. En réalité, il est possible d'étendre ou de remplacer n'importe quel sous-?composant du runtime de ASP.NET à l'aide du composant que vous avez écrit personnellement. L'implémentation d'une authentification ou de services d'état personnalisés n'a jamais été plus simple.


• Sécurité. Avec l'authentification Windows intégrée et la configuration par application, vous pouvez être certain que vos applications sont sécurisées.

ASP.NET : un modèle événementiel en remplacement du modèle linéaire ASP

Une page ASP est interprétée de façon linaire du début à la fin, ce qui complique l'insertion d'un code dynamique. ASP.NET remplace ce modèle statique par un modèle événementiel. L'architecture ASP.NET fait implicitement l'association d'un événement à un gestionnaire d'événement. Le modèle événementiel évite les allers-retours " client-serveur " et permet en outre de maintenir de façon cohérente les valeurs des contrôles du formulaire via des objets de niveau Session (propres à l'utilisateur) ou de niveau Application (informations globales). Lorsqu'un utilisateur clique sur un bouton dans un formulaire, un événement est déclenché et transmis via HTTP post au serveur. ASP.NET intercepte cet événement, l'associe au gestionnaire correspondant et l'exécute (il peut s'agir d'un gestionnaire par défaut ou d'un comportement défini spécifiquement par votre application). En conséquence, il n'est plus nécessaire de surcharger le modèle linéaire d'un code spécifique de gestion événementiel. La programmation est plus simple… tout au moins pour les habitués des anciennes versions de Visual Basic.

Voici donc le code du gestionnaire associé au clic sur l'image ImageButton1 ?

Private Sub ImageButton1_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click
If TextBox1.Text = "Hello" Then
HyperLink1.Visible = True
Else
HyperLink1.Visible = False
End If
End Sub

IIS : le serveur Web dédié aux applications ASP.NET
En attendant d'être supporté par Apache ou Domino Server, la technologie ASP.NET reste aujourd'hui l'apanage de IIS, le serveur web de Microsoft. L'avenir nous en dira un peu plus sur les réelles volontés d'ouverture de Microsoft via .NET et sur l'acceptation de cette architecture par le reste des éditeurs informatiques… surtout ceux déjà impliqués dans une logique Java !

Outre le Web Forms Designer, l'architecture ASP.NET propose le Mobile Web Forms Designer pour la conception d'interfaces dédiées aux systèmes mobiles (organiseurs, téléphone portables, WAP, etc.) et le Mobile Internet Toolkit (ensemble de contrôles spécialement conçus pour l'Internet mobile et les ?produits communicants).

Il existe de nombreux langages, lequel choisir ?
Tous les langages dans .NET sont égaux. Votre choix n'aura donc aucune influence sur ce que vous pourrez faire, ni sur les performances. VB.NET et C# (prononcez C Sharp) sont toutefois privilégiés par Visual Studio .NET car celui-ci sait générer automatiquement du code VB.NET ou C#. Si vous connaissez déjà C++ ou Java, optez pour C#. Si vous connaissez déjà Visual Basic optez pour VB.NET.
Pour les débutants, je conseillerai C#.
C# possède deux avantages face à VB.NET : la documentation automatique de votre projet C# et la possibilité d'utiliser des pointeurs.

Pourquoi les langages sont-ils égaux ?
Ils sont égaux car, quelque soit le langage utilisé, vous pouvez faire les mêmes choses et ce, avec la même rapidité. Lors de la compilation d'un programme, celui-ci est traduit en pseudo code MSIL (Microsoft Intermediate Language). C'est le seul langage compris par l'environnement d'exécution CLR (Common Language Runtime). Sur des algorithmes simples, il y a de fortes chances que la version VB.NET, C# ou C++ produise le même code MSIL et donc offre les mêmes performances.

C'est quoi MSIL ?
Microsoft Intermediate Language est, comme son nom l'indique, un langage intermédiaire. L'environnement d'exécution (CLR) transforme le code MSIL en opcode compris par le microprocesseur. Cette transformation est faite par le compilateur JIT (Just In Time = à la volée)

C'est quoi CLR ?
Le Common Language Runtime est l'environnement d'exécution. Le code MSIL y est exécuté de façon managée, c'est-à-dire que de nombreux contrôles sont fait pendant l'exécution. La CLR est le cœur du système et offre de nombreux services, comme par exemple la gestion de la mémoire, la sécurité, la gestion des versions, le lien entre différents modules, l'interopérabilité, la gestion des exceptions, etc...
La CLR, c'est un peu comme un programme C qui utilise le strict minimum sans bibliothèque particulière. Les bibliothèques correspondent ici au framework.

Le CLR possède un Garbage Collector (ou ramasse miettes) qui gère la mémoire pour nous. Il permet ainsi de nous affranchir de la libération des objets : il détecte automatiquement qu'un objet n'est plus utilisé et libère la mémoire correspondante. Les programmes sont plus simples à écrire, les fuites mémoire par non libération n'existent plus.

Qu'est-ce que le framework ?
C'est un ensemble de classes qui facilitent la vie du développeur (liste chaînée, fonctions mathématiques,...) et qui permettent d'accéder au système (fichiers, fenêtres, graphiques, ...).

Découvrez la présentation de la stratégie .NET de Microsoft

Ou se situe ASP.NET dans le nouvel environnement de Microsoft .NET

le FRAMEWORK ?