Previous Up Next

Chapter 11  ASP Active Server Page

ASP , comme PHP , est un langage de script fonctionnant coté serveur.

Il est très lié au serveur IIS (Internet Information Services ), mais des implémentations existent sous W95 PWS (Personal Web Server) et unix (Apache).C'est une solution proriétaire de Microsoft.


Un fichier ASP peut contenir du code HTML , XML , et des scripts, ces scripts sont éxécutés par le serveur.

Un fichier ASP à une extension ".asp" .
 <html>  <body> 
    Hello World!  <p> 
     The time And date is now <%=now()%>     //asp code script imbriqué 
  </body>  </html> 
ASP , comme tout langage de script, peut modifier ou ajouter du contenu au page Web . Nativement le langage de scripting est VBScript, mais JavaScript, Python ou Perl , java ... peuvent être utilisé après leurs installations.
<%@ language="javascript" %>
<html><body>
  <%                                // en VB insensible à la casse
     Response.Write("Hello World!") //   response.write("Hello World!")
  %>
</body></html>

11.1  Asp est orienté objet:

Les 6 principaux objets sont:

11.2  Exemple: ajouter un enregistrement à une table

Soit une table nommée table1 contenant les champs Nom, Prénom, Age;

Le script suivant nommé user.asp devrait permettre de constituer un formulaire de saisie et d'ajouter les informations issues de celui-ci à cette table
<%
   ENVOY = Left(UCase(Request("ENVOYER")),5) ' On récupère la valeur du  bouton cliqué
   If ENVOY = "ENVOY" Then        ' test bouton envoyer la première fois on n'y passe pas
      Dim objConnexion, chaineConn
                         ' Créer l'objet ADO (ActiveX Data Object) à partir de l'objet server
      Set objConnexion = Server.CreateObject("ADODB.Connection")
                         ' Ouvrir la base sans DSN avec chaîne de connexion
      chaineConn = "provider=MICROSOFT.JET.OLEDB.4.0;
      DataSource=D:\inetpub\db\base.mdb;User ID=??;Password=??;"
      objConnexion.open chaineConn
      ' Traitement...
      SQLQuery= "INSERT INTO table1 (Nom, Prenom, Age) "
      SQLQuery= SQLQuery & "VALUES( '" & Request("Nom") & "','"&
                                      Request("Prenom")& "','" &
                                      Request("Age") & "')"
      objConnexion.Execute(SQLQuery)
      ' Fermer la connexion et détruire l'objet
      objConnexion.close
      set objConnexion=nothing
%>
    'constitution du formulaire en html
      <html> <body>
        <form method="POST" action="user.asp">
           <H2>Ajouter un enregistrement</H2>
           <table>
             <tr> <td>Nom:   </td><td> <input type="text" name="Nom" size="20"
                                        value="<%=Request("Nom")%>">  </td> </tr>
             <tr> <td>Prénom:</td><td> <input type="text" name="Prenom" size="20"
                                        value="<%=Request("Prenom")%>">  </td> </tr>
           </table> <p>
           <input type="submit" value="ENVOYER" name="Envoyer">
       </form>
      </body> </html> 

11.3  PHP/ASP : comparaisons

Coûts : avantage au système libre PHP


Syntaxe langage : égalité, les deux systèmes sont comparables, selon les sensibilités et le passé "d'informaticien" de chacun, le choix pourra se porter sur une technologie ou une autre


Langage de requête : identique


Rapidité : sur une base de données comportant le même nombre d'enregistrements, des benchmarks:

http://www.mysql.com/information/benchmarks.html

http://www.devparadise.com/technoweb/sys/bench/d55.asp

ont montré un faible avantage pour PHP .



Concrètement, le choix d'une technologie s'effectue souvent en fonction de l'existant. La migration vers un système nouveau pose souvent beaucoup d'interrogations et quelques risques.


Là où l'aboutissement de la comparaison penche en faveur du système libre est :
Previous Up Next