Bienvenue sur le site IPSCRIPT(Internet Delphi Scripting Language) |
|---|
| s'abonner à la liste de diffusion IPScript |
IPScript est un compilateur compatible delphi spécialement réalisé pour enrichir le code html afin de rendre ces pages dynamiques du coté serveur. Le code source delphi est à placer entre les balises <% et %> des pages html.
Les pages HTML contenant du code IPSCRIPT doivent avoir l'extention .ips
Lors de l'appel d'une de ces pages par un navigateur, le serveur HTTP (Apache, IIS, Sambar, etc.) appel notre compilateur avec comme parametre le nom de la page demandée.
Notre compilateur regarde si le source de cette page à été modifié depuis sa dernière compilation et si c'est le cas lance sa compilation. Le code compilé est un assembleur qui sera ensuite executé par l'executeur IPSCRIPT.
Le langage IPSCRIPT est très proche du delphi, avec toutefois quelques differences, parmis lesquelles :
IPScript supporte les procédures, les fonctions, les variables globales et locales, le passage de parametres, la recursivité.
De plus, il dispose en standard d'un certain nombre d'outils lui permettant de gérer facilement les CGI :
Enfin, IPSCRIPT supporte la base de donnée DBISAM afin de permettre de gérer tous type de donnée en lecture et en écriture. Ceci permet de publier sur le web des données, de les mettre en forme, et de les faire modifier par les utilisateurs du site web au travers de formulaires.
Le plus simple est encore de montrer des exemples de code IPSCRIPT :
(à sauvegarder dans ex1.ips)
<html>
<head><title>Page de test de IPScript</title></head>
<body>
Voici un petit exemple de code IPScript :<br>
<%
Script;
Var I;
Begin
For I: = 1 to 100 do Echo('Bonjour n°'+I+'<br>');
End;
%>
</body>
</html>
Cet exemple affiche 100 lignes de "bonjour" avec pour chacune d'elles le numéro de ligne. Vous remarquerez la definition de la variable I par la directive "Define".
(a sauvegarder dans le fichier ex2.ips)
Voici un autre exemple, il permet de calculer les N premières factorielles, N étant saisie par l'utilisateur (pour ceux qui, comme moi, ont quitté l'école depuis un moment, rappelons que factorielle 5 c'est 1 x 2 x 3 x 4 x 5).
<html>
<head>
<title>Exemple n°2</title>
</head>
<body>
<form action="ex2.ips" method="post">
Entrez un nombre entre 1 et 20 :
<input type="text" name="nombre">
<input type="submit" name="calculer" value="calculer">
</form>
<%
Function Fact(N);
Begin
If N = 1 Then Result := 1
Else Result := N * Fact(N-1);
End;
Script;
Var I;
Begin
If InParms('Nombre') Then
If Parms('Nombre') > 0 and Parms('Nombre') <= 20 Then
Begin
For I := 1 to Parms('Nombre') do
Echo('La factorielle de '+I+' est '+Fact(I)+'<br>');
End
Else Echo(Parms('Nombre')+' n''est pas compris entre 1 et 20 !');
End; { Script }
%>
</body>
</html>
(a sauvegarder dans le fichier ex3.ips)
Voici un exemple qui permet de publier le contenu d'une table de base de donnée. Le programme assume que la table C:\MATABLE.DAT existe sur le serveur et sa structure est NOM, PRENOM et TELEPHONE de type caractères. Cette table peut être téléchargée ici ou vous pouvez utiliser le gestionnaire de base de donnée de DBISAM téléchargeable ici pour la créer.
<html>
<head>
<title>Exemple n°3</title>
</head>
<body>
<h1>contenu de la table C:\MATABLE.DAT</h1>
<%
Script;
Var F;
Begin
If DbAssignTable(F,'c:\matable.dat') Then
If DbOpen(F) Then
Begin
If DbFirst(F,'') Then
Begin
Echo('<table border="3">');
Repeat
Echo(' <tr>');
Echo(' <td>'+DbField(F,'Nom')+'</td>');
Echo(' <td>'+DbField(F,'Prenom')+'</td>');
Echo(' <td>'+DbField(F,'Telephone')+'</td>');
Echo(' </tr>');
Until not DbNext(F);
Echo('</table>');
End
Else Echo('La table est vide.');
If DbClose(F) Then ;
End
Else Echo('Impossible d''ouvrir la table.')
Else Echo('Assignation de la table impossible.');
End;
%>
</body>
</html>
Est-ce un langage compilé ou interprété ?
IPScript est un langage compilé, seul le code assembleur généré après compilation est interprété à la manière de ce que fait un processeur avec un executable binaire. Ceci est un important gage de vitesse. De plus, une fois compilé , le source ne sera recompilé qu'en cas modification.
Peut-on utiliser des bases de données ?
OUI, IPScript permet l'accès en lecture et en écriture de base de donnée. A l'heure actuelle, seules les tables DBISAM sont supportées. IPScript permet l'affichage des images en provenance de tables, en les convertissant aumatiquement au format JPEG. Les dates et heures sont affichées grace à DateToStr, TimeToStr et FormatDateTime (compatible avec Delphi dans leur syntaxe).
Existe-il un environnement de developpement ?
OUI, il s'agit de IPStudio. Bien qu'encore en phase de developpement, celui-ci est totallement utilisable. Il permet de saisir des pages de script et/ou html et d'en tester la compilation. Le résultat de l'execution est directement affiché dans une page navigateur. IPStudio est disponible dans la section téléchargement de ce site.
Quel est le prix de IPScript ?
IPScript est un produit commercial, rapprochez vous de Ace informatique pour connaitre le prix d'une licence commerciale. ipScript peut être utilisé gratuitement pour un usage privé et non commercial.
Le téléchargement de ipScript sous-entend l'acceptation de sa licence d'utilisation. Vous pouvez la consulter en cliquant ici : licence d'utilisation de ipscript
compilateur/executeur ipScript 3.29 ISAPI Cette version utilise DBISAM 3.x et comprend ipStudio l'éditeur de scripts avec coloration syntaxique et vérification de syntaxe.
compilateur/executeur ipScript 2.2.1 ISAPI Cette version utilise DBISAM 2.x et comprend ipStudio l'éditeur de scripts avec coloration syntaxique et vérification de syntaxe.
Le manuel utilisateur est accessible en cliquant ici.
Veuillez consulter le fichier install.txt du fichier zip de distribution pour la mise en place. IPScript a été testé avec IIS, Apache et Sambar. Il devrai fonctionner sur tous les serveurs supportant le mode ISAPI.
Ace Informatique sa
Serge Chelli
serge.chelli@ipscript.com
www.aceinformatique.com
9, rue de l'aqueduc - 75010 PARIS - FRANCE
Téléphone 33 (0)1 55 26 08 00
Fax 33 (0)1 55 26 08 01