Les fichiers sources sont dans ${UPS_HOME}/upsnet/demo/${UPS_LANGUAGE}/clientcns/.
; -------------------------------------------------------------------
; Fichier : upssrv.ini
; Objet : Initialisation d'Up ! Server.
;
; Module : Up ! Application System.
; Auteur-Date : DUVAL Jean-Pierre - Novembre 2003.
; -------------------------------------------------------------------
; Observations
;
;
; -------------------------------------------------------------------
[UpsCns]
Archiver=Oui
AutoriserAnonymous=Oui
DroitsDAcces1=DroitLectureEcritureExecution
NbClients=8
NbServeurs=1
;PasDeCacheServeur=Oui
Racine1=${UPS_HOME}/upsnet/upsnet/
Repertoire1=/
TracerCommunication=Oui
URIServeur=http://local:8080
[UpsNet]
GardeReseau=3600
NbServeurs=0
[UpsOrb]
AnnuaireLocal=mon-annuaire
[UpsSec]
Securite=ma-securite
Script de sécurité d'Up ! Security Manager
/* ------------------------------------------------------------------- */
/* Fichier : masecurite-monannuaire.upl */
/* Objet : Exemple d'emploi d'Up ! 5GL. */
/* */
/* Module : Up ! Application System. */
/* Auteur-Date : DUVAL Jean-Pierre - Novembre 2003. */
/* ------------------------------------------------------------------- */
/* Observations */
/* */
/* */
/* ------------------------------------------------------------------- */
Source Securite "Exemple de l'emploi des annuaires" Version 4.0.0;
Securite
/******/
Debut
AjouterUtilisateur("scott", "Description de scott", Nul, Nul, Nul);
AjouterUtilisateur("allen", "Description de allen", Nul, Nul, Nul);
AjouterUtilisateur("smith", "Description de smith", Nul, Nul, Nul);
AjouterUtilisateur("clark", "Description de clark", Nul, Nul, Nul);
AjouterUtilisateur("king", "Description de king", Nul, Nul, Nul);
Fin Securite
Script d'annuaire électronique d'Up ! Content Service
/* ------------------------------------------------------------------- */
/* Fichier : monannuaire-ajouter.upl */
/* Objet : Exemple d'emploi d'Up ! 5GL. */
/* */
/* Module : Up ! Application System. */
/* Auteur-Date : DUVAL Jean-Pierre - Novembre 2003. */
/* ------------------------------------------------------------------- */
/* Observations */
/* */
/* */
/* ------------------------------------------------------------------- */
Source AnnuaireElectronique "Exemple de l'emploi des annuaires" Version 4.0.0;
AnnuaireElectronique
/******************/
Debut
AjouterAdresseElectronique("allen", "allen@local");
AjouterAdresseElectronique("clark", "clark@local");
AjouterAdresseElectronique("king", "king@local");
AjouterAdresseElectronique("scott", "scott@local");
AjouterAdresseElectronique("scott", "contact@local");
AjouterAdresseElectronique("smith", "smith@local");
AjouterAbonnementElectronique("info", "info@local", "Informations générales");
AjouterAbonne("info", "allen@local");
AjouterAbonne("info", "clark@local");
AjouterAbonne("info", "king@local");
AjouterAbonne("info", "scott@local");
Fin AnnuaireElectronique
Mode compilé
Commande de compilation
upscmp Source=clientcns.upl
Commande d'exécution
Exécution du serveur
upssrv PasDOrb=Oui Module1=UpsCns
Exécution du client
clientcns NbServeurs=0
Mode interprété
Exécution du serveur
upssrv PasDOrb=Oui Module1=UpsCns
Exécution du client
upssng Source=clientcns.upl NbServeurs=0
Fichier source
Source du Cgi en C
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <fcntl.h>
#include <io.h>
int main(int argc, char **argv, char **env)
/*****************************************/
{
int i;
#if defined(WIN32)
setmode(_fileno(stdout), _O_BINARY);
#endif
printf("Content-Type: text/plain\r\n");
printf("Status: 200 Ok.\r\n");
printf("\r\n");
for (i=0;env[i];i++)
printf("%s\r\n", env[i]);
return(0);
}
Source du Cgi en Up ! 5GL
Source Composant "Exemple d'emploi d'Up ! Virtual Technical Machine" Version 4.0.0;
Parametre
/******/
Prive :
/*****/
A : Caractere;
B : Entier;
C : Date;
Principal
/*******/
Debut
Ecran.Ecrire("Content-Type: text/plain");
Ecran.Ecrire(");
Ecran.Ecrire("Début du document");
Ecran.Ecrire("A="+A);
Ecran.Ecrire("B="+Caractere(B));
Ecran.Ecrire("C="+Caractere(C));
Ecran.Ecrire("Fin du document");
Fin Principal
Source du client
Source Composant "Exemple d'emploi d'Up ! Content Service" Version 4.0.0;
ImporterModule
/************/
UpsWww(<UpsWww>, ImporterDefinitions);
UpsCns(<UpsCns>, ImporterDefinitions);
Variable
/******/
S : Nul Ou ServeurContenu;
Requete : Nul Ou RequeteContenu;
Reponse : Nul Ou ReponseContenu;
Principal
/*******/
Variable
/******/
MethodeContenu : Nul Ou MethodeContenuInternet;
F : Nul Ou Fichier;
E : Nul Ou EntiteContenuInternet;
L : Nul Ou Caractere;
L2 : Nul Ou ListeDe Nul Ou MethodeContenuInternet;
I : IntervalleContenu;
D : Date;
Debut
S=ServeurContenu("http://local:8080", "scott", ");
Requete=RequeteContenu("http://local:8080/", MethodeContenuAfficherOptions);
Reponse=S.Soumettre(Requete);
L2=Reponse.ListeDeMethodesSupportees;
Si L2!=Nul Alors
Pour MethodeContenu=L2.ParcoursAuDebut() JusquA L2.DernierElement() Faire
Selon MethodeContenu Faire
Cas Pour MethodeContenuAfficherOptions Faire
Ecran.Ecrire("MethodeContenuAfficherOptions");
Fin Cas
Cas Pour MethodeContenuCreerChemin Faire
Ecran.Ecrire("MethodeContenuCreerChemin");
Fin Cas
Cas Pour MethodeContenuEcrireRessource Faire
Ecran.Ecrire("MethodeContenuEcrireRessource");
Fin Cas
Cas Pour MethodeContenuLireEnteteRessource Faire
Ecran.Ecrire("MethodeContenuLireEnteteRessource");
Fin Cas
Cas Pour MethodeContenuLireRessource Faire
Ecran.Ecrire("MethodeContenuLireRessource");
Fin Cas
Cas Pour MethodeContenuModifierRessource Faire
Ecran.Ecrire("MethodeContenuModifierRessource");
Fin Cas
Cas Pour MethodeContenuPosterRessource Faire
Ecran.Ecrire("MethodeContenuPosterRessource");
Fin Cas
Cas Pour MethodeContenuSupprimerChemin Faire
Ecran.Ecrire("MethodeContenuSupprimerChemin");
Fin Cas
Cas Pour MethodeContenuSupprimerRessource Faire
Ecran.Ecrire("MethodeContenuSupprimerRessource");
Fin Cas
Cas Pour MethodeContenuTracer Faire
Ecran.Ecrire("MethodeContenuTracer");
Fin Cas
Fin Selon
Fin Pour
Fin Si
Requete=RequeteContenu("http://local:8080/repertoire", MethodeContenuCreerChemin);
Reponse=S.Soumettre(Requete);
Requete=RequeteContenu("http://local:8080/repertoire", MethodeContenuSupprimerChemin);
Reponse=S.Soumettre(Requete);
Requete=RequeteContenu("http://local:8080/essai.txt", MethodeContenuLireEnteteRessource);
Reponse=S.Soumettre(Requete);
Ecran.Ecrire("URILocalisation="+Reponse.URILocalisation);
Ecran.Ecrire(");
Requete=RequeteContenu("http://local:8080/essai.txt", MethodeContenuLireRessource);
Reponse=S.Soumettre(Requete);
E=Reponse.EntitePrimaire;
Si E!=Nul Alors
F=E.LireContenu(LectureTexte);
TantQue Non F.FinDeFlux Faire
?=F.LireUneLigne(L);
Ecran.Ecrire(L);
Fin TantQue
F.Fermer();
Ecran.Ecrire(");
Fin Si
Requete=RequeteContenu("http://local:8080/essai2.txt", MethodeContenuPosterRessource);
F=Fichier("/tmp/texte.txt", LectureTexte);
E=EntiteContenuInternet(ContenuTextPlain,IFlux(F));
F.Fermer();
Requete.ModifierEntitePrimaire(E);
Reponse=S.Soumettre(Requete);
D=DateSysteme();
Requete=RequeteContenu("http://local:8080/essai.doc", MethodeContenuPosterRessource);
F=Fichier("/tmp/essai.doc", LectureBinaire);
E=EntiteContenuInternet(ContenuApplicationMicrosoftWord, IFlux(F));
F.Fermer();
Requete.ModifierEntitePrimaire(E);
Reponse=S.Soumettre(Requete);
Requete=RequeteContenu("http://local:8080/essai2.txt", MethodeContenuModifierRessource);
F=Fichier("/tmp/texte2.txt", EcritureTexte);
F.Ecrire("COUCOU\n");
F.Fermer();
F=Fichier("/tmp/texte2.txt", LectureTexte);
E=EntiteContenuInternet(ContenuTextPlain, IFlux(F));
F.Fermer();
Requete.ModifierEntitePrimaire(E);
I.BorneInferieure=100;
I.BorneSuperieure=-1;
Requete.ListeDIntervalles=ListeDe(I);
Reponse=S.Soumettre(Requete);
Requete=RequeteContenu("http://local:8080/essai2.txt", MethodeContenuLireRessource);
I=IntervalleContenu();
I.BorneInferieure=100;
I.BorneSuperieure=106;
Requete.ListeDIntervalles=ListeDe(I);
Reponse=S.Soumettre(Requete);
E=Reponse.EntitePrimaire;
Si E!=Nul Alors
F=E.LireContenu(LectureTexte);
TantQue Non F.FinDeFlux Faire
?=F.LireUneLigne(L);
Ecran.Ecrire(L);
Fin TantQue
F.Fermer();
Ecran.Ecrire(");
Fin Si
Attendre(10.0);
Requete=RequeteContenu("http://local:8080/essai2.txt", MethodeContenuLireRessource);
Requete.EstModifieDepuis=D;
AttraperException
Reponse=S.Soumettre(Requete);
Ecran.Ecrire("CodeRetour="+Caractere(Reponse.CodeRetour, "&")+"\n");
TraiterException
Defaut
Ecran.Ecrire(Exception.MessageErreur);
Ecran.Ecrire("CodeRetour="+Caractere(Reponse.CodeRetour, "&")+"\n");
Fin Defaut
Fin AttraperException
Requete=RequeteContenu("http://local:8080/essai2.txt", MethodeContenuLireRessource);
Requete.EstNonModifieDepuis=D;
AttraperException
Reponse=S.Soumettre(Requete);
Ecran.Ecrire("CodeRetour="+Caractere(Reponse.CodeRetour, "&")+"\n");
TraiterException
Defaut
Ecran.Ecrire(Exception.MessageErreur);
Ecran.Ecrire("CodeRetour="+Caractere(Reponse.CodeRetour, "&")+"\n");
Fin Defaut
Fin AttraperException
Requete=RequeteContenu("http://local:8080/essai2.txt", MethodeContenuSupprimerRessource);
Reponse=S.Soumettre(Requete);
Requete=RequeteContenu("http://local:8080/cgi.exe", MethodeContenuLireRessource);
Reponse=S.Soumettre(Requete);
E=Reponse.EntitePrimaire;
Si E!=Nul Alors
F=E.LireContenu(LectureTexte);
TantQue Non F.FinDeFlux Faire
?=F.LireUneLigne(L);
Ecran.Ecrire(L);
Fin TantQue
F.Fermer();
Ecran.Ecrire(");
Fin Si
Requete=RequeteContenu("http://local:8080/cgi2.exe?A=AAA&B=10&C=5/04/2006", MethodeContenuLireRessource);
Reponse=S.Soumettre(Requete);
E=Reponse.EntitePrimaire;
Si E!=Nul Alors
F=E.LireContenu(LectureTexte);
TantQue Non F.FinDeFlux Faire
?=F.LireUneLigne(L);
Ecran.Ecrire(L);
Fin TantQue
F.Fermer();
Ecran.Ecrire(");
Fin Si
Fin Principal
Résultat de l'exécution
MethodeContenuSupprimerRessource
MethodeContenuLireRessource
MethodeContenuLireEnteteRessource
MethodeContenuCreerChemin
MethodeContenuAfficherOptions
MethodeContenuModifierRessource
MethodeContenuEcrireRessource
MethodeContenuPosterRessource
MethodeContenuTracer
URILocalisation=http://local:8080/essai.txt
Bonjour Jean-Pierre,
Peux-tu me transmettre l'adresse mail du Président du tribunal de Chambéry ou du juge commissaire qui s'est occupé du redressement judiciaire ABCDEF ?
Merci.
Eric.
L'integrite de ce message n'etant pas assuree sur internet, Natexis
Banques Populaires ne peut etre tenu responsable de
son contenu. Toute utilisation ou diffusion non autorisee est
interdite. Si vous n'etes pas destinataire de ce message, merci de le
detruire et d'avertir l'expediteur.
The integrity of this message cannot be guaranteed
on the Internet. Natexis Banques Populaires can not therefore be
considered responsible for the contents.Any unauthorized use or dissemination is prohibited.
If you are not the intended recipient of this message, then please delete it and
notify the sender
COUCOU
CodeRetour=304
CodeRetour=200
ALLUSERSPROFILE=C:\Documents and Settings\All Users.WINDOWS
APPDATA=C:\Documents and Settings\Administrateur.J-DUVAL\Application Data
CommonProgramFiles=C:\Program Files\Fichiers communs
COMPUTERNAME=J-DUVAL
ComSpec=C:\WINDOWS\system32\cmd.exe
CONTENT_LENGTH=0
CONTENT_TYPE=text/plain
CORBA_HOME=C:\mico\mico2311\debug\win32
FP_NO_HOST_CHECK=NO
GATEWAY_INTERFACE=CGI/1.1
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Administrateur.J-DUVAL
HOST=local:8080
INCLUDE="C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include";"C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include"
JAVA_HOME=C:\j2sdk1.4.2_04
LIB="C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib";"C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib"
LOGONSERVER=\\J-DUVAL
MSVC_HOME=C:\Program Files\Microsoft Visual Studio .NET 2003
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Path=C:/Up/ups200/debug/ups/upsnet/upsnet
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 10, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=080a
ProgramFiles=C:\Program Files
PROMPT=$p$g
QUERY_STRING=
REMOTE_ADDR=127.0.0.1
REQUEST_METHOD=GET
SERVER_NAME=local
SERVER_PORT=8080
SERVER_PROTOCOL=HTTP/1.1
SERVER_SOFTWARE=Up ! Server/2.0.0
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\DOCUME~1\ADMINI~1.J-D\LOCALS~1\Temp
TMP=C:\DOCUME~1\ADMINI~1.J-D\LOCALS~1\Temp
tvdumpflags=8
USER=scott
USERDOMAIN=J-DUVAL
USERNAME=Administrateur
USERPROFILE=C:\Documents and Settings\Administrateur.J-DUVAL
VS71COMNTOOLS=C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\
winbootdir=C:\WINDOWS
windir=C:\WINDOWS
_ACP_ATLPROV=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\ATLPROV.DLL
_ACP_INCLUDE=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include;C:\Up\ups200\dev\source;C:\Up\ups200\dev\genere;C:\Up\ups200\debug\ups\upsbiz\upscmp;C:\Up\ups200\debug\ups\upsbiz\upscom2;C:\Up\ups200\debug\ups\upsbiz\upscrb;C:\Up\ups200\debug\ups\upsbiz\upsjav;C:\Up\ups200\debug\ups\upscom\upscmp;C:\Up\ups200\debug\ups\upscom\upscom;C:\Up\ups200\debug\ups\upscrb\upscmp;C:\Up\ups200\debug\ups\upscrb\upscrb;C:\Up\ups200\debug\ups\upsedi\upscmp;C:\Up\ups200\debug\ups\upsjav\upscmp;C:\Up\ups200\debug\ups\upsjav\upsjav;C:\Up\ups200\debug\ups\upsnet\upscmp;C:\Up\ups200\debug\ups\upsnls\upscmp;C:\Up\ups200\debug\ups\upssdk\upscmp;C:\Up\ups200\debug\ups\upsvtm\upscmp;C:\Up\ups200\debug\ups\demo\upscmp;C:\mico\mico2311\debug\win32\include;C:\j2sdk1.4.2_04\include;C:\sap\rfcsdk\include
_ACP_LIB=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\lib;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\lib\prerelease;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\lib;C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\lib;C:\mico\mico2311\debug\win32\lib;C:\j2sdk1.4.2_04\lib;C:\sap\rfcsdk\lib
_ACP_PATH=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\bin;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\tools;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\ide;C:\Program Files\HTML Help Workshop\;C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\bin;C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Oracle\Ora81\bin;C:\j2sdk1.4.2_04\bin;C:\Program Files\Microsoft Visual Studio\VC98\Bin;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\mico232\bin
Début du document
A=AAA
B=10
C=05/04/2006 00:00:00
Fin du document