ARTICLES | Applications | Best of | FAQ | Forums | VBScript | JScript | Livres | Liens | Contact | ACCUEIL

LA REFERENCE FRANCAISE DES DEVELOPPEURS ACTIVE SERVER PAGEs



ASP+ : Vaporware ou réalité ?
Il y a quelques semaines, Bill Gates annonçait officiellement le lancement de .NET (Dot NET). De nombreux analystes, souvent persifleurs, crièrent encore au vaporware. Puis, dès le lendemain, Microsoft annonçait sa volonté de créer un nouveau langage le C# (C Sharp). Certains le dénommèrent aussitôt le J--. La semaine dernière (du 11 au 14 Juillet 2000), au PDC d'ORlando, 7000 développeurs trouvèrent dans leur valisette offerte à l'accueil, des CD Rom avec une version Alpha de ASP+ fonctionnelle. Certes ce n'est qu'une version Alpha (la définitive ne viendra sans doute que pendant le 1er semestre 2001), mais elle est déjà opérationnelle (le discours de B. Gates n'était donc pas qu'un rêve), et déjà des sites en ASP+ sont présents sur le web, des livres sont en préparation, etc.

La suite de cette article est une présentation des nouvelles fonctionnalités d'ASP+.

Pour quel environnement ?

Avant toutes choses, ASP+ sera (enfin c'est ce qu'ils disent pour l'instant), parfaitement compatible avec ASP. Pour utiliser ASP+, il suffit de l'installer sur un serveur web. Elle est indépendante du système d'exploitation (ie NT4 ou W2K) mais est liée uniquement au serveur web. Pour l'instant, seuls IIS4 et IIS5 sont supportés. Il n'y as pas encore de décisions prises concernant PWS.

Les Web Forms

On pourrait croire à un terme marketing. Une Web Form désigne en effet une bête page web avec la nouvelle extension aspx qui remplace asp. Son contenu est similaire à une page asp classique du style :

<HTML>
<BODY>
<%="Hello World"%>
</BODY>
</HTML>

Mais l'idée sous-jacente est de pouvoir créer des pages web aussi simplement que le font les développeurs Visual Basic :

  • drag & drop de contrôles,
  • gestion des évènements des même contrôles,
  • etc.

Bien entendu, Microsoft développe actuellement son pack de développement Visual Studio.NET (alias Visual Studio 7) dans ce sens.

Code compilé

Un premier élément d'importance (certains trouveront que c'est le principal) est que le code n'est plus interprété mais compilé au premier accès à la page. Cela signifie que la première fois qu'une personne se connectera sur cette page, ASP+ compilera le code. pour toutes les autres personnes qui se connecteront par la suite, ce sera le code compilé qui s'exécutera. Le gain en performance est énorme. Pour mémoire, quand Visual Basic est passé de la version 4 (P-Code) à la version 5 (compilateur C++), le gain a été de 10 (après les tests et ce malgré que Microsoft annonçait une gain de 20).

Indépendance du langage

Un autre élément important : le langage utilisé. Pour l'instant, côté serveur, vous pouviez utiliser du VBScript ou du JavaScript. Maintenant plus de 9 langages sont officiellement annoncés (VB, C++, C#, Perl, etc.) bien que seul le C# soit actuellement supporté en plus des deux langages traditionnels. Ainsi, tous les développeurs peuvent garder leurs habitudes. Un fana du Perl qui trouve le VB "basic" pourra utiliser ASP+.

Les contrôles serveurs

Windows a toujours été livré avec des contrôles dits communs : par exemple, dans l'explorateur Windows, vous avez sur la gauche une arborescence (contrôle TreeView) et sur la droite le contenu (contrôle ListView). Ces contrôles sont mis à la disposition des développeurs pour leurs propres applications sans avoir à réécrire le code de leurs affichages, gestion, etc. Il en est de même avec les contrôles serveurs d'ASP+. ASP+ est livré avec 45 contrôles très divers. Cela va d'une bête zone de texte au calendrier en passant par un treeview. Leurs déclarations au sein d'une page ASP+ est très simple. Par exemple, pour un contrôle texte avec une zone de liste déroulante :

<asp:textbox runat=server>
<asp:dropdownlist runat=server>

Vous me direz, quel est l'intérêt d'utiliser ce type de contrôle ? Comme les développeurs qui utilisent MS Visual Interdev doivent commencer à le sentir, vous pouvez très bien associer un contrôle textbox à un champ d'un recordset. De plus, vous pouvez écrire du code dans l'évènement Click d'un Button crée côté serveur (une remarque, ASP+ analyse le navigateur interrogant la page pour optimiser le code généré. Si c'est, par exemple IE5, il utilisera des fonctions DHTML, en revanche, pour des navigateurs de "bas" niveau, le code ne sera exécuté que côté serveur). Dernier exemple pour vous persuadez, vous affichez certainement vos enregistrements d'un recordset dans un tableau. Le code à écrire est assez conséquent. Avec ASP+, utilisez le contrôle datagrid : 2 lignes de code, une pour créer l'objet, une autre pour l'associer à un recordset !
Bien entendu, et ce contrairement aux contrôles DTC de Visual Interdev, l'aspect de ces contrôles est parfaitement modifiable.

Les contrôles invisibles

Il existe également des contrôles invisibles (comme le Timer en Visual Basic). Un exemple de ce type de contrôle sont les contrôles de validation. Par exemple, ils permettent de s'assurer que le texte Nom d'un formulaire (côté serveur) a bien été rempli et correctement par l'internaute, qu'un élément d'une zone de liste déroulable a bien été sélectionnée, etc. Comme décrit ci-dessus, le code de validation s'exécutera soit côté serveur pour les navigateurs de bas niveau, soit côté client pour les navigateurs de haut niveau (certains diront ici que c'est la nouvelle solution trouvée par Microsoft pour imposer MS Internet Explorer 6 !).
Parmi ces contrôles de navigation, vous avez un contrôle qui s'assure que vous avez bien rempli une zone de texte, un autre qui s'assure que les valeurs sont bien comprise entre une valeur maximale et une minimale, etc.

Les pagelets

Pour simplifier les pagelets vous permettent de créer vos propres contrôles serveurs. Avec ASP+, vous pouvez créer une page aspx contenant un contrôle serveur, puis lui ajouter les propriétés et méthodes supplémentaires que vous souhaitez et cela, exactement comme vous le faites actuellement en développant des contrôles OCX pour vos applications locales. Ces pages ont pour extensions aspc (c pour controle). Une pagelet peut contenir plusieurs contrôles et gérer en interne ses propres événements. Ainsi, vous pouvez demander à l'un de vos développeurs de créer une pagelet pour le login dans votre Intranet. Cette pagelet comprendra deux zones de texte, une pour le nom, l'autre pour le mot de passe. Votre développeur peut créer dans la pagelet le code qui validera que les entrées sont correctes. Elle exposera un évènement asklog qui sera généré uniquement quand tous les paramètres entrés par l'internautes seront bien formés. De votre côté, vous n'aurez plus qu'à utiliser cette pagelet dans vos pages, soit une seule ligne de code.
Autre avantage, vous pourrez avoir (contrairement aux Include) plusieurs pagelets du même type dans une seule page.
Enfin, vous pourrez instancier des pagelets dynamiquement dans vos pages.


Richard Clark, C2i - Portail ASP francophone


Retour à la liste des articles

Hit-Parade  


FastCounter by bCentral