|
Chapitres
|
||||||||||||||||||||||||
|
|
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
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.
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.
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
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 ?
