DOCUMENTATION TECHNIQUE

Size: px
Start display at page:

Download "DOCUMENTATION TECHNIQUE"

Transcription

1 DOCUMENTATION TECHNIQUE Fichiers de configuration Codes sources Captures d écran Intitulé du rapport PFE : Urbanisation d un Système d information universitaire SOA & BPM (AU. 2009/2010) Effectué à : Tritux Réaliser par : Walid Karray

2

3 Table des matières TABLE DES MATIERES FICHIERS DE CONFIGURATION ETC/HOSTS (RESOLUTION D'ADRESSE) ETC/POSTFIX/MAIN.CF (CONFIGURATION DE POSTFIX - SMTP SERVER) ETC/APACHE2/APACHE2.CONF (CONFIGURATION D APACHE) ETC/PHP5/APACHE2/PHP.INI (CONFIGURATION DE PHP) CODES SOURCES SCRIPTS SQL Création (create.sql) Insertion (insert.sql) CODES SOURCES DES CONNECTEURS PODBRIDGE Classe du connecteur : APACLManager Classe du connecteur : BDetu Classe du connecteur : pbftpaccountconnector Classe du connecteur : pbippserviceconnector Classe du connecteur : pbmaila ccountconnector Classe du connecteur : pbsmsserviceconnector Classe du connecteur : pbwwwsubscrconnector FICHIERS WSDL WSDL exposé par PodBridge1.2 sur «podbridge.intranet.demo» WSDL exposé par PodBridge1.2 sur «ws.rnu.edu.demo» WSDL du service «ProcessRUById» WSDL du service «BatchProcessRU» FICHIER XSD (DEFINITION DES PARAMETRES D E/S DU PROCESSUS BATCHPROCESSRU) FICHIERS BPEL Fichier source : ProcessRUById.bpel Fichier Source : BatchProcessRU.bpel CODE SOURCE DE L APPLICATION PHP (FORMULAIRE INFO ETUDIANT) CAPTURES D ECRAN SQUIRRELMAIL ( CUPS WEB ADMINISTRATION ( SITE WEB D INSCRIPTION UNIV. EN LIGNE - ( SOAPUI PODBRIDGE 1.2 (INTERFACES D ADMINISTRATION) PROJET PROCESSRUBYID (QUELQUES CAPTURES D ECRANS) PROJET BATCHPROCESSRU (QUELQUES CAPTURES D ECRANS) APPLICATION WEB PHP (FORMULAIRE INFO ETUDIANT)

4 1. FICHIERS DE CONFIGURATION ISET Djerba TriTux PAGE 3

5 1.1. /etc/hosts (résolution d'adresse) #Par défaut localhost.localdomain localhost # ~~~~~~~ LAN de l'établissement #Serveur FTP etu-ftp.intranet.demo #Serveur PostgreSQL postgres-83.intranet.demo #Point d'accès sans fil ap21.intranet.demo #Middleware SOA : PodBridge podbridge.intranet.demo #Glassfish ESB 2.1 Server sun-bpel-engine.intranet.demo #Serveur Cups cups.intranet.demo #SMS sms.intranet.demo #Formulaire (App PHP) formulaire.intranet.demo # ~~~~~~~ WAN - RNU (Réseau National Universitaire) #Site web d'inscription en ligne inscription.edu.demo #SMTP & POP rnu.edu.demo #Webmail (client mail) webmail.rnu.edu.demo ISET Djerba TriTux PAGE 4

6 #Middleware SOA : PodBridge ws.rnu.edu.demo 1.2. /etc/postfix/main.cf (Configuration de Postfix - SMTP Server) myhostname = rnu.edu.demo mydomain = rnu.edu.demo mydestination = $mydomain $myhostname localhost.$mydomain masquerade_domains = $mydomain # See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. myorigin = rnu.edu.demo smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no # appending.domain is the MUA's job. # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h readme_directory = no # TLS parameters smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key smtpd_use_tls = yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache # See /usr/share/doc/postfix/tls_readme.gz in the postfix-doc package for # information on enabling SSL in the smtp client. alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mynetworks = /8 [::ffff: ]/104 [::1]/128 mailbox_size_limit = 0 ISET Djerba TriTux PAGE 5

7 recipient_delimiter = + default_transport = error relay_transport = error home_mailbox = Maildir/ smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/dovecot-auth smtpd_sasl_authenticated_header = yes smtpd_sasl_local_domain = $myhostname broken_sasl_auth_clients = yes smtpd_recipient_restrictions = reject_unknown_sender_domain reject_unknown_recipient_domain reject_unauth_pipelining permit_mynetworks permit_sasl_authenticated reject_unauth_destination smtpd_sender_restrictions = reject_unknown_sender_domain mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/dovecot-postfix.conf -n -m "${EXTENSION}" smtp_use_tls = yes smtpd_tls_received_header = yes smtpd_tls_mandatory_protocols = SSLv3, TLSv1 smtpd_tls_mandatory_ciphers = medium, high smtpd_tls_auth_only = yes tls_random_source = dev:/dev/urandom 1.3. /etc/apache2/apache2.conf (Configuration d Apache) ServerRoot "/etc/apache2" LockFile /var/lock/apache2/accept.lock PidFile ${APACHE_PID_FILE} Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 ISET Djerba TriTux PAGE 6

8 </IfModule> <IfModule mpm_worker_module> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} AccessFileName.htaccess <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> DefaultType text/plain HostnameLookups Off ErrorLog /var/log/apache2/error.log LogLevel warn Include /etc/apache2/mods-enabled/*.load Include /etc/apache2/mods-enabled/*.conf Include /etc/apache2/httpd.conf Include /etc/apache2/ports.conf LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined ISET Djerba TriTux PAGE 7

9 Include /etc/apache2/conf.d/ Include /etc/apache2/sites-enabled/ 1.4. /etc/php5/apache2/php.ini (Configuration de PHP) engine = On zend.ze1_compatibility_mode = Off short_open_tag = On asp_tags = Off precision = 12 y2k_compliance = On output_buffering = Off zlib.output_compression = Off implicit_flush = Off unserialize_callback_func= serialize_precision = 100 allow_call_time_pass_reference = On safe_mode = Off safe_mode_gid = Off safe_mode_include_dir = safe_mode_exec_dir = safe_mode_allowed_env_vars = PHP_ safe_mode_protected_env_vars = LD_LIBRARY_PATH disable_functions = disable_classes = expose_php = On max_execution_time = 30 ; Maximum execution time of each script, in seconds max_input_time = 60 ; Maximum amount of time each script may spend parsing request data memory_limit = 128M error_reporting = E_ALL & ~E_NOTICE display_errors = On display_startup_errors = Off log_errors = Off log_errors_max_len = 1024 ignore_repeated_errors = Off ignore_repeated_source = Off report_memleaks = On track_errors = Off variables_order = "EGPCS" register_globals = Off ISET Djerba TriTux PAGE 8

10 register_long_arrays = On register_argc_argv = On auto_globals_jit = On post_max_size = 8M magic_quotes_gpc = Off magic_quotes_runtime = Off magic_quotes_sybase = Off auto_prepend_file = auto_append_file = default_mimetype = "text/html" doc_root = user_dir = enable_dl = Off file_uploads = On upload_max_filesize = 2M allow_url_fopen = On allow_url_include = Off default_socket_timeout = 60 define_syslog_variables = Off SMTP = localhost smtp_port = 25 sql.safe_mode = Off odbc.allow_persistent = On odbc.check_persistent = On odbc.max_persistent = -1 odbc.max_links = -1 odbc.defaultlrl = 4096 odbc.defaultbinmode = 1 mysql.allow_persistent = On mysql.max_persistent = -1 mysql.max_links = -1 mysql.default_port = mysql.default_socket = mysql.default_host = mysql.default_user = mysql.default_password = mysql.connect_timeout = 60 mysql.trace_mode = Off mysqli.max_links = -1 mysqli.default_port = 3306 mysqli.default_socket = mysqli.default_host = mysqli.default_user = mysqli.default_pw = ISET Djerba TriTux PAGE 9

11 mysqli.reconnect = Off msql.allow_persistent = On msql.max_persistent = -1 msql.max_links = -1 pgsql.allow_persistent = On pgsql.auto_reset_persistent = Off pgsql.max_persistent = -1 pgsql.max_links = -1 pgsql.ignore_notice = 0 pgsql.log_notice = 0 sybase.allow_persistent = On sybase.max_persistent = -1 sybase.max_links = -1 sybase.min_error_severity = 10 sybase.min_message_severity = 10 sybase.compatability_mode = Off sybct.allow_persistent = On sybct.max_persistent = -1 sybct.max_links = -1 sybct.min_server_severity = 10 sybct.min_client_severity = 10 bcmath.scale = 0 ifx.default_host = ifx.default_user = ifx.default_password = ifx.allow_persistent = On ifx.max_persistent = -1 ifx.max_links = -1 ifx.textasvarchar = 0 ifx.byteasvarchar = 0 ifx.charasvarchar = 0 ifx.blobinfile = 0 ifx.nullformat = 0 session.save_handler = files session.use_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.cookie_httponly = session.serialize_handler = php session.gc_divisor = 100 session.gc_maxlifetime = 1440 ISET Djerba TriTux PAGE 10

12 session.bug_compat_42 = 1 session.bug_compat_warn = 1 session.referer_check = session.entropy_length = 0 session.entropy_file = session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0 session.hash_function = 0 session.hash_bits_per_character = 4 url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset=" mssql.allow_persistent = On mssql.max_persistent = -1 mssql.max_links = -1 mssql.min_error_severity = 10 mssql.min_message_severity = 10 mssql.compatability_mode = Off mssql.secure_connection = Off tidy.clean_output = Off soap.wsdl_cache_enabled=1 soap.wsdl_cache_dir="/tmp" soap.wsdl_cache_ttl=86400 ISET Djerba TriTux PAGE 11

13 2. CODES SOURCES ISET Djerba TriTux PAGE 12

14 2.1. Scripts SQL Création (create.sql) PostgreSQL database dump -- SET client_encoding = 'UTF8'; SET standard_conforming_strings = off; SET check_function_bodies = false; SET client_min_messages = warning; SET escape_string_warning = off; SET search_path = public, pg_catalog; ALTER TABLE ONLY public.etudiant DROP CONSTRAINT tel_uniq; ALTER TABLE ONLY public.etudiant DROP CONSTRAINT refrecu_uniq; ALTER TABLE ONLY public.etudiant DROP CONSTRAINT loginftp_uniq; ALTER TABLE ONLY public.etudiant DROP CONSTRAINT id_primary; ALTER TABLE ONLY public.etudiant DROP CONSTRAINT _uniq; ALTER TABLE ONLY public.etudiant DROP CONSTRAINT adrmac_uniq; DROP TABLE public.etudiant; SET search_path = public, pg_catalog; SET default_tablespace = ''; SET default_with_oids = false; Name: etudiant; Type: TABLE; Schema: public; Owner: bdetuadmin; Tablespace: -- CREATE TABLE etudiant ( id character varying(8) NOT NULL, nom character varying(25) NOT NULL, prenom character varying(25) NOT NULL, dep character varying(5) NOT NULL, spec character varying(5) NOT NULL, niveau integer NOT NULL, tel character varying(8) DEFAULT NULL::character varying, character varying(255) DEFAULT NULL::character varying, ISET Djerba TriTux PAGE 13

15 ); loginftp character varying(255) DEFAULT NULL::character varying, adrmac character(17) DEFAULT NULL::bpchar, refrecu character varying(16) DEFAULT NULL::character varying, process character varying(3) NOT NULL ALTER TABLE public.etudiant OWNER TO bdetuadmin; Name: adrmac_uniq; Type: CONSTRAINT; Schema: public; Owner: bdetuadmin; Tablespace: -- ALTER TABLE ONLY etudiant ADD CONSTRAINT adrmac_uniq UNIQUE (adrmac); Name: _uniq; Type: CONSTRAINT; Schema: public; Owner: bdetuadmin; Tablespace: -- ALTER TABLE ONLY etudiant ADD CONSTRAINT _uniq UNIQUE ( ); Name: id_primary; Type: CONSTRAINT; Schema: public; Owner: bdetuadmin; Tablespace: -- ALTER TABLE ONLY etudiant ADD CONSTRAINT id_primary PRIMARY KEY (id); Name: loginftp_uniq; Type: CONSTRAINT; Schema: public; Owner: bdetuadmin; Tablespace: -- ALTER TABLE ONLY etudiant ADD CONSTRAINT loginftp_uniq UNIQUE (loginftp); ISET Djerba TriTux PAGE 14

16 -- -- Name: refrecu_uniq; Type: CONSTRAINT; Schema: public; Owner: bdetuadmin; Tablespace: -- ALTER TABLE ONLY etudiant ADD CONSTRAINT refrecu_uniq UNIQUE (refrecu); Name: tel_uniq; Type: CONSTRAINT; Schema: public; Owner: bdetuadmin; Tablespace: -- ALTER TABLE ONLY etudiant ADD CONSTRAINT tel_uniq UNIQUE (tel); PostgreSQL database dump complete Insertion (insert.sql) PostgreSQL database dump -- SET client_encoding = 'UTF8'; SET standard_conforming_strings = off; SET check_function_bodies = false; SET client_min_messages = warning; SET escape_string_warning = off; SET search_path = public, pg_catalog; Data for Name: etudiant; Type: TABLE DATA; Schema: public; Owner: bdetuadmin -- delete from etudiant ; ISET Djerba TriTux PAGE 15

17 insert into etudiant values (' ','Ben Salah','Mohamed','TI','IR',3,' ',NULL::character varying,null::character varying,'00:16:44:a0:f9:50',null::character varying,'att'); insert into etudiant values (' ','Ayari','Imed', 'TI','TI',1,NULL,NULL::character varying,null::character varying,'b9:aa:28:20:00:f7',null::character varying,'att'); insert into etudiant values (' ','El mehdi','youssef','ti','ir',2,null,null::character varying,null::character varying,null::character varying,null::character varying,'att'); insert into etudiant values (' ','Tounsi','Eya', varying, NULL::character varying,null::character varying,'att'); insert into etudiant values (' ','Mhamdi','Nozha','GM','GM',1,NULL,NULL::character varying,null::character varying,'12:11:5a:3e:88:72', NULL::character varying,'att'); insert into etudiant values (' ','Ben Abdallah','Sonda','GE','GE',1,NULL,NULL::character varying,null::character varying,null::character varying,null::character varying,'att'); insert into etudiant values (' ','Ben Yahia','Sami','TI','II',2,NULL,NULL::character varying,null::character varying,'a4:f5:c0:81:23:e1',null::character varying,'att'); 2.2. Codes sources des connecteurs PodBridge Classe du connecteur : APACLManager Code source : APACLManager.connector.php 1 <?php 2 class APACLManager extends PodBridgeConnector implements PodBridgeConnectorInterface { 3 4 private $regexvalidator = array ( 5 'macaddr'=>'/^([0-9a-fa-f]{2}:){5}[0-9a-fa-f]{2}$/'); 6 7 /** 8 * Add adress to MAC filter (forwording) // Method not yet implemented 9 * false 12 * 13 string macaddr address ISET Djerba TriTux PAGE 16

18 14 * 15 (ssid:string,auth_key:string) doforwardmacaddrout 16 doforwardmacaddrout information about the Wireless AP 17 */ 18 public function doforwardmacaddr($macaddr) { if (! preg_match($this->regexvalidator['macaddr'],$macaddr)) 21 Throw new Exception('Wrong Mac address format!', 805); // Method not yet implemented $doforwardmacaddrout = array(); 27 $doforwardmacaddrout['ssid']=$this->params['ssid']; 28 $doforwardmacaddrout['auth_key']=$this->params['auth_key']; 29 return $doforwardmacaddrout; 30 } /** 33 * Remove adress from MAC filter // Method not yet implemented 34 * false 37 * 38 string macaddr address 39 * 40 boolean true if MAC address was removed from ACL 41 */ 42 public function doromoveforwordedmacaddr($macaddr) { if (! preg_match($this->regexvalidator['macaddr'],$macaddr)) 45 Throw new Exception('Wrong Mac address format!', 805); // Method not yet implemented return true; 50 } /* 53 * Make connection to the Server and authenticate 54 * 55 bool true on connection success, false if not 56 */ 57 public function connect() { ISET Djerba TriTux PAGE 17

19 58 return true; 59 } /* 62 * Disconnect from the server by executing a logout command 63 * 64 bool true (allways) 65 */ 66 public function disconnect() { 67 return true; 68 } } Classe du connecteur : BDetu Code source : BDetu.connector.php 1 <?php 2 class BDetu extends PodBridgeConnector implements PodBridgeConnectorInterface { 3 4 private $conn=null; 5 6 /** 7 * Returns all information about a student by his id 8 * 9 10 false 11 * 12 string id student identifier 13 * 14 (id:string,nom:string,prenom:string,dep:string,spec:string,niveau:integer,tel:stri ng, string,loginftp:string,adrmac:string,refrecu:string,process:string) getstudentbyidout ); 15 getstudentbyidout information a student 16 */ 17 public function getstudentbyid($id) { if (! preg_match("/^[0-9]{8}$/", $id) ) 20 throw new Exception ("Student id should be 8 digit number", 800 ISET Djerba TriTux PAGE 18

20 21 22 $res = $this->executesql("select * from etudiant where id='".$id."' limit 1",$numrows); if (! $numrows) 25 throw new Exception ("This identifier (".$id.") seems inexistant in database!", 820 ); $getstudentbyidout['id']=$res['id']; 28 $getstudentbyidout['nom']=$res['nom']; 29 $getstudentbyidout['prenom']=$res['prenom']; 30 $getstudentbyidout['dep']=$res['dep']; 31 $getstudentbyidout['spec']=$res['spec']; 32 $getstudentbyidout['niveau']=$res['niveau']; 33 $getstudentbyidout['tel']=$res['tel']; 34 $getstudentbyidout[' ']=$res[' ']; 35 $getstudentbyidout['loginftp']=$res['loginftp']; 36 $getstudentbyidout['adrmac']=$res['adrmac']; 37 $getstudentbyidout['refrecu']=$res['refrecu']; 38 $getstudentbyidout['process']=$res['process']; return $getstudentbyidout; 41 } /** 45 * Update information about a Student in the database 46 * false 49 * 50 string id student identifier 51 string* tel personal phone number 52 string* address 53 string* loginftp ftp login (user name) 54 string* adrmac mac address 55 string* refrecu receipt identifier 56 string* process process execution out state 57 * 58 boolean true always 59 */ 60 public function updatestudentbyid($id,$tel,$ ,$loginftp,$adrmac,$refrecu,$process) { //Validate phone number ISET Djerba TriTux PAGE 19

21 63 if ($tel!=null) { 64 if (! preg_match("/^[0-9]{8}$/", $tel) ) 65 throw new Exception ("Wrong phone number - should be 8 char length", 821 ); ); $rows['tel']=$tel; 68 } //Validate identifier 71 if (! preg_match("/^[0-9]{8}$/", $id) ) 72 throw new Exception ("Student id should be 8 digit number", //Validate Mac address 75 if ($ !=null) { 76 if (! preg_match("/^[^0-9][a-z0-9_]+([.][a-z0-9_]+)*[@][a-z0-9_]+([.][a-z0-9_]+)*[.][a-z]{2,4}$/", $ ) ) 77 throw new Exception ("Wrong address!", 823 ); $rows[' ']=$ ; 80 } //Validate ftp login 83 if ($loginftp!=null) { 84 if (! preg_match("/^[^0-9][a-z0-9_]+([.][a-z0-9_]+)*$/", $loginftp) ) 85 throw new Exception ("Wrong ftp login!", 824 ); $rows['loginftp']=$loginftp; 88 } //Validate mac address 91 if ($adrmac!=null) { 92 if (! preg_match("/^[0-9a-fa-f]{2}[:-][0-9a-fa-f]{2}[:-][0-9afa-f]{2}[:-][0-9a-fa-f]{2}[:-][0-9a-fa-f]{2}[:-][0-9a-fa-f]{2}$/", $adrmac) ) 93 throw new Exception ("Wrong mac address!", 825 ); $rows['adrmac']=$adrmac; 96 } //Validate receipt identifier 99 if ($refrecu!=null) { 100 if (! preg_match("/^[0-9]{16}$/", $refrecu) ) 101 throw new Exception ("Receipt identifier should be a 16 digit number", 826 ); 102 ISET Djerba TriTux PAGE 20

22 103 $rows['refrecu']=$refrecu; 104 } //Validate process state code 107 if ($process!=null) { 108 if (! preg_match("/^[a-z]{2,3}$/", $process) ) 109 throw new Exception ("Process state value should be composed from 2 to 3 capital letters", 827 ); $rows['process']=$process; 112 } $cols_to_update=null; 116 foreach ($rows as $rowname=>$value) { 117 if ($cols_to_update!='') $cols_to_update.=','; 118 $cols_to_update.=$rowname."='".$value."'"; 119 } if (!$cols_to_update) 122 throw new Exception ("Null value not permitted!", 828 ); //Check if the id exists 125 $this->executesql("select id from etudiant where id ='".$id."'",$numrows); 126 if (! $numrows) 127 throw new Exception ("This identifier (".$id.") seems inexistant in database!", 820 ); //Execute update statement 130 if ($this->executesql("update etudiant SET ".$cols_to_update." WHERE id='".$id."'")) 131 return true; 132 } /** 139 * Returns the next identifier of the given one (if exists) 140 * If $id param is set to null this method will return the first identifier 141 * 142 ISET Djerba TriTux PAGE 21

23 143 false 144 * 145 string* id identifier 146 string filter filter 147 * 148 (nextid:string,last:boolean) retarray 149 retarray blabla 150 */ 151 public function getnextid($id,$filter) { if (!preg_match("/^(att PAI \*)$/", $filter) ) 154 throw new Exception ("Filter value should be ATT or PAI (*)", 851 ); if (!preg_match("/^[0-9]{8}$/", $id) && $id!=null ) 157 throw new Exception ("id should be either an 8 digit number OR EMPTY (no value)", 852 ); if ($filter!='*') 160 $filter_sql="and process in ('".$filter."') "; $res = $this->executesql("select id from etudiant where id > '".$id."' ".$filter_sql." order by id asc limit 2",$numrows); 163 if (!$numrows) 164 throw new Exception ("No result", 853 ); $retarray = array(); 167 $retarray['nextid']=$res['id']; 168 //$numrows can be 1 or $retarray['last']=($numrows==1); return $retarray; } /* 180 * Executes an sql statement in pgsql server 181 * and returns results as array 182 * 183 string sql sql query 184 * ISET Djerba TriTux PAGE 22

24 185 Array 186 */ 187 private function executesql($sql,&$numrows) { $result = pg_query($this->conn, $sql); 190 if (!$result) 191 throw new Exception ("Error in SQL query: ". pg_last_error(), 870 ); 192 $numrows = pg_numrows($result); $resultarray = pg_fetch_array($result); 195 pg_free_result($result); 196 return $resultarray; } /* 204 * Make connection to the Server and authenticate 205 * 206 boolean true on connection success, false if not 207 */ 208 public function connect() { 209 try { 210 $connect="host=".$this->params['host']." port=".$this- >params['port']." dbname=".$this->params['dbname']." user=".$this- >params['username']; if (!empty($this->params['password'])) 213 $connect.=" password=".$this->params['password']; $this->conn=pg_connect ($connect); if (!$this->conn) 218 throw new Exception ( "Cannot connect to database: ". $this->params ['dbname'], 201 ); return true; 221 } catch ( Exception $e ) { 222 $this->setlasterror ( $e->getcode (), $e->getmessage() ); 223 return false; 224 } 225 } ISET Djerba TriTux PAGE 23

25 /* 228 * Disconnect from the server by executing a logout command 229 * 230 boolean true (allways) 231 */ 232 public function disconnect() { 233 pg_close($this->conn); 234 $this->conn=null; 235 return true; 236 } } Classe du connecteur : pbftpaccountconnector Code source : FTPAccount.connector.php 1 <?php 2 3 class FTPAccount extends PodBridgeConnector implements PodBridgeConnectorInterface { private $sshcon = null; 7 private $authenticated = false; 8 private $regexvalidator = array ( 9 'username'=>'/^[^0-9][a-z0-9_]+([.][a-z0-9_]+)*$/'); /* 12 * Generate random password from a set of chars ($pool) 13 * 14 integer $len Password length 15 string Rand password 16 */ 17 private function generaterandompasswd ( $len = 10 ) { 18 $string = ''; 19 $pool = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz ' ; 20 for($i = 1; $i <= $len; $i ++) { 21 $string.= substr ( $pool, rand ( 0, 61 ), 1 ); ISET Djerba TriTux PAGE 24

26 22 } return $string; 25 } /* 28 * Check if the user exists in host 29 * 30 string user User name 31 boolean True if user exist 32 */ 33 private function ifuserexists($user) { 34 $this->ssh2exec ( 'grep "^'.$user.':" /etc/passwd',true,true,$response); 35 if ($response==null) 36 return false; 37 return true; 38 } /* 42 * Convert dd/mm/yyyy format dates to unix date format 43 * 44 string date 45 * 46 Exception 770 Date error 47 * 48 string Unix date 49 */ 50 private function getunixdate($date) { $datearray=explode('/',$date); 53 $dd=$datearray[0]; 54 $mm=$datearray[1]; 55 $yyyy=$datearray[2]; if (! checkdate($mm, $dd, $yyyy) ) 58 Throw new Exception('Date error ('.$date.')', 770); //Convert to unix date format mm/dd/yyyy 61 $unixdate=$mm.'/'.$dd.'/'.$yyyy; 62 return $unixdate; 63 } /** ISET Djerba TriTux PAGE 25

27 66 * Create a new FTP account 67 * false 70 * 71 string user The FTP user login 72 string expiry_date Expiry date 73 boolean use_welcome If use welcome message when user connect 74 * 75 Exception 803 Pattern matching error in user name 76 Exception 804 User already exists 77 * 78 (UserLogin:string,Password:string,ServerDomain:string,FTPPort:integer) docreateftpuseraccountout 79 docreateftpuseraccountout information about the created ftp account 80 */ 81 public function docreateftpuseraccount($user,$expiry_date,$use_welcome=true) { if (! preg_match($this->regexvalidator['username'],$user)) 84 Throw new Exception('Pattern matching error in user name', 803); if ( $this->ifuserexists($user) ) 87 Throw new Exception('User ('.$user.') already exists', 804); //Convert dd/mm/yyyy expiry date to unix date 90 if ( $expiry_date!= 0 ) 91 $unix_expdate = $this->getunixdate($expiry_date); $userhome = $this->params ['ftp_users_path'].'/'.$user; 94 // Generate a random password 95 $password = $this->generaterandompasswd ( $this->params ['autogen_pswd_length'] ); $cryptedpassword = crypt ( strip_tags ( $password ) ); // Create the user 100 $this->ssh2exec ( 'useradd -d '.$userhome.' -m -g '.$this->params ['ftp_group_name'].' -e '.$unix_expdate.' -s /bin/false -p \''.$cryptedpassword.'\' '.$user); if ($use_welcome) { 103 //Set default welcome message ISET Djerba TriTux PAGE 26

28 104 $this->setftpuserwelcomemsg($user,$this->params ['welcome_message']); 105 } $docreateftpuseraccountout = array (); 108 $docreateftpuseraccountout ['UserLogin'] = $user; 109 $docreateftpuseraccountout ['Password'] = $password; 110 $docreateftpuseraccountout ['ServerDomain'] = $this->params ['domain']; 111 $docreateftpuseraccountout ['FTPPort'] = $this->params ['ftp_port']; 112 return $docreateftpuseraccountout; 113 } /** 116 * Set Ftp account expiry date 117 * false 120 * 121 string user The FTP user login 122 string expiry_date Expiry date 123 * 124 Exception 850 User seems inexistant 125 * 126 boolean True when the expiry dates is updated 127 */ 128 public function setftpuseraccountexpirydate($user,$expiry_date) { if (! $this->ifuserexists($user) ) 131 Throw new Exception('User ('.$user.') seems inexistant', 850); 132 //Convert dd/mm/yyyy expiry date to unix date 133 if ( $expiry_date!= 0 ) 134 $unix_expdate = $this->getunixdate($expiry_date); $this->ssh2exec ( 'usermod -e '.$unix_expdate.' '. $user ); 137 return true; } /** 144 * Set or Update user login welcome message 145 * ISET Djerba TriTux PAGE 27

29 false 148 * 149 string user user name 150 string message message to display 151 * 152 Exception 850 User seems inexistant 153 Exception 849 Cannot set empty message 154 * 155 boolean True when the message is set 156 */ 157 public function setftpuserwelcomemsg($user,$message) { if (! $this->ifuserexists($user) ) 160 Throw new Exception('User ('.$user.') seems inexistant', 850); if ($message==null) 163 Throw new Exception('Cannot set an empty message!', 849); $userhome = $this->params ['ftp_users_path'].'/'.$user; 166 $this->ssh2exec ( 'echo -e "'.$message.'">'. $userhome. '/welcome.msg'); return true; } /** 175 * Disable user welcome message while ftp connection 176 * false 179 * 180 string user user name 181 * 182 Exception 850 User seems inexistant 183 * 184 boolean True when the message is set 185 */ 186 public function dodisableftpuserwelcomemsg($user) { if (! $this->ifuserexists($user) ) 189 Throw new Exception('User ('.$user.') seems inexistant', 850); ISET Djerba TriTux PAGE 28

30 $userhome = $this->params ['ftp_users_path'].'/'.$user; 192 $this->ssh2exec ( 'rm -f '. $userhome. '/welcome.msg'); return true; 195 } /** 199 * Change an FTP User account password 200 * false 203 string user User name 204 string oldpassword The old user password 205 string newpassword The new user password 206 * 207 Exception 840 Password verification failed 208 Exception 841 Your password must be between {RANGE} characters in length 209 Exception 842 Password should be different from the old one { 210 * 211 boolean True when password changed 212 */ 213 public function dochangeftpuserpassword($user,$password,$new_password) if (! $this->docheckpassword($user,$password) ) 216 Throw new Exception("Password verification failed", 840); if ( strlen($new_password) < $this->params ['minimum_pswd_length'] strlen($new_password) > $this->params ['maximum_pswd_length']) 219 Throw new Exception("Your password must be between ".$this- >params ['minimum_pswd_length']."-".$this->params ['maximum_pswd_length']." characters in length", 841); if ($password == $new_password) 222 Throw new Exception("New password should be different from the old one", 842); $cryptednewpassword = crypt ( strip_tags ( $new_password ) ); 225 //Change the user password 226 $this->ssh2exec ( 'usermod -p \''.$cryptednewpassword.'\' '.$user); return true; ISET Djerba TriTux PAGE 29

31 229 } /* 233 * Check if the user password is correct 234 * 235 string user User name 236 string password User password 237 * 238 Exception 850 Entered user name seems inexistant 239 Exception 851 Unexpected error while checking password 240 * 241 boolean True If password check success and False otherwise 242 */ 243 private function docheckpassword($user,$password) { //Check if the user exist 246 if (! $this->ifuserexists($user) ) 247 Throw new Exception('User ('.$user.') seems inexistant', 850); //Retrieve crypted user password from /etc/shadow 250 $this->ssh2exec ( 'grep ^'.$user.': /etc/shadow cut -d":" - f2',true,true,$refpswd); 251 if ($refpswd==null) 252 Throw new Exception("Unexpected error while checking password", 851); $cryptedreferencepassword = trim($refpswd); 255 //Comparing passwords 256 if ( crypt( strip_tags ( $password ),$cryptedreferencepassword )!= $cryptedreferencepassword ) 257 return false; return true; 260 } /** 264 * Delete FTP user account 265 * false 268 string user FTP user name 269 Exception 850 Entered user name seems inexistant ISET Djerba TriTux PAGE 30

32 270 Exception 860 Cannot do such operation on a non ftp user 271 boolean True When user is deleted 272 */ 273 public function dodeleteftpuseraccount($user) { //Check if the user exist 276 if (! $this->ifuserexists($user) ) 277 Throw new Exception('User ('.$user.') seems inexistant', 850); //Verify if FTP user 280 $this->ssh2exec ( 'groups '.$user,true,true,$groupname); 281 if (trim($groupname)!=$this->params ['ftp_group_name']) 282 Throw new Exception("Cannot do such operation on a non FTP user", 860); // Delete the user 285 $this->ssh2exec ( 'userdel -r '.$user); 286 return true; 287 } /** 292 * Transfer files/directories to an FTP account root directory 293 * false 296 * 297 string file Source file or directory inside {files_source_root} 298 string user FTP user name 299 * 300 boolean True copy complete 301 */ 302 public function doftpsendfile($file,$user) { $recursive=null; 305 $dest=$this->params ['ftp_users_path'].'/'.$user.'/'.$file; $srcfile = $this->params ['files_source_root'].'/'.$file; if (! is_file($srcfile) ) { 310 if (! is_dir($srcfile) ) { 311 Throw new Exception("File not found!", 860); ISET Djerba TriTux PAGE 31

33 312 } else { 313 $recursive='-r'; 314 } 315 } $this->ssh2exec ( 'cp '.$recursive.' '.$srcfile.' '.$dest); 318 $this->ssh2exec ( 'chown '.$recursive.' '.$user.':'.$this->params ['ftp_group_name'].' '.$dest); return true; 321 } /* 325 * Executes a $cmd on the SSH connection and return $readable response on-demand 326 * 327 string $cmd Command to execute 328 bool $exception Whether to throw exception on error or return false 329 bool $readresponse Whether to return a readable response or not 330 pointer $response The readable response if requested will be here 331 Exception 200 If ($exception) AND we got an error while executing the command 332 ressource The ssh2_exec return 333 */ 334 private function ssh2exec($cmd, $exception = true, $readresponse = false, &$response = null) { 335 $this->setsessionlog ( 'sent', $cmd ); 336 $stream = ssh2_exec ( $this->sshcon, $cmd ); //get the content of ssh2 stderr 339 $stderr = ssh2_fetch_stream ( $stream, SSH2_STREAM_STDERR ); 340 stream_set_blocking ( $stderr, true ); 341 $response_stderr = stream_get_contents ( $stderr ); 342 fclose ( $stderr ); if ($response_stderr) { 345 if ($exception) { 346 $this->setsessionlog ( 'received', $response_stderr ); 347 throw new Exception ( "Error executing cmd: [$cmd]", 200 ); 348 } else { 349 $this->setsessionlog ( 'received', $response_stderr ); 350 return false; ISET Djerba TriTux PAGE 32

34 351 } 352 } if ($readresponse) { 355 stream_set_blocking ( $stream, true ); 356 $response = stream_get_contents ( $stream ); 357 fclose ( $stream ); 358 $this->setsessionlog ( 'received', $response ); 359 } else { 360 $this->setsessionlog ( 'received', '[PB:noerror]' ); 361 } return $stream; 364 } /* 368 * Make connection to the Server and authenticate 369 * 370 bool true on connection success, false if not 371 */ 372 public function connect() { 373 try { 374 $this->sshcon = ssh2_connect ( $this->params ['host'] ); 375 if (! $this->sshcon) 376 throw new Exception ( "SSH Connection failure To the Host", 200 ); if (! ssh2_auth_password ( $this->sshcon, $this->params ['login'], $this->params ['password'] )) 379 throw new Exception ( "Authentication failure To the host using username: ". $this->params ['login'], 201 ); $this->authenticated = true; 382 return true; 383 } catch ( Exception $e ) { 384 $this->setlasterror ( $e->getcode (), $e->getmessage () ); 385 return false; 386 } 387 } /* 390 * Disconnect from the server by executing a logout command 391 * 392 bool true (allways) ISET Djerba TriTux PAGE 33

35 393 */ 394 public function disconnect() { 395 if ($this->sshcon) { 396 if ($this->authenticated) { 397 ssh2_exec ( $this->sshcon, "logout" ); 398 } else 399 $this->sshcon = null; 400 } return true; 403 } } Classe du connecteur : pbippserviceconnector Code source : IPPService.connector.php 1 <?php 2 class IPPService extends PodBridgeConnector implements PodBridgeConnectorInterface { 3 4 private $ipp = null; 5 6 /** 7 * Print Web pages 8 * 9 10 false 11 * 12 string url web page location exemple: 13 string* jobname new job name 14 * 15 boolean always true 16 */ 17 public function doprintwebpage($url,$jobname=null) { 18 if (! file_get_contents($url,null,null,null,1)) 19 Throw new Exception('Cannot get page contents from ('.$url.')', 700); 20 $tmppsdoc = '/tmp/'.md5(uniqid()); ISET Djerba TriTux PAGE 34

36 21 //Convert web page to a PS document 22 system ( 'html2ps '.$url.'>'.$tmppsdoc); 23 $this->doprintinternaldocument($tmppsdoc,$jobname); 24 //Cleaning 25 system ( 'rm -f '.$tmppsdoc); 26 return true; 27 } /** 30 * 31 * Print documents located in server 32 * false 35 * 36 string filepath path to file 37 string* jobname new job name 38 * 39 boolean always true 40 */ 41 public function doprintinternaldocument($filepath,$jobname=null) { if (! file_exists($filepath)) 44 Throw new Exception('File does not exists!', 705); if (!$jobname ) 47 $jobname=$filepath; $this->ipp->setjobname($jobname); $this->ipp->setdata($filepath); // Path to file. 52 $this->ipp->printjob(); 53 return true; 54 } /** 57 * Returns all available printers 58 * false 61 * 62 * 63 string Liste all printers uri delimited by ";" 64 */ ISET Djerba TriTux PAGE 35

37 65 public function getprinters() { $this->ipp->getprinters(); 68 $printers=null; 69 foreach( $this->ipp->available_printers as $printer) { 70 if ( $printers ) $printers.=";"; 71 $printers.=$printer; 72 } return $printers; 75 } // Method not yet implemented 78 public function getalljobs() { return true; 81 } // Method not yet implemented 84 public function killjobbyid($jobid) { return true; 87 } // Method not yet implemented 90 public function killalljobs() { return true; 93 } // Method not yet implemented 97 public function getlastjob() { 98 //return $this->ipp->last_job; 99 } /* 102 * Make connection to the Server and authenticate 103 * 104 bool true on connection success, false if not 105 */ 106 public function connect() { // For documentation refer to ==> ISET Djerba TriTux PAGE 36

38 109 require_once("printippclasses/cupsprintipp.php"); 110 $this->ipp = new CupsPrintIPP; $this->ipp->setusername($this->params['user']); 113 $this->ipp->setauthentication($this->params['user'],$this- >params['password']); // username & password $this->ipp->sethost($this->params['ipp_host']); 116 $this->ipp->setport($this->params['ipp_port']); $this->ipp->setprinteruri($this->params['printer_uri']); return true; 121 } /* 124 * Disconnect from the server by executing a logout command 125 * 126 bool true (allways) 127 */ 128 public function disconnect() { 129 unset ($this->ipp); 130 return true; 131 } } Classe du connecteur : pbmailaccountconnector Code source : MailAccount.connector.php 1 <?php 2 3 class MailAccount extends PodBridgeConnector implements PodBridgeConnectorInterface { 4 5 private $sshcon = null; 6 private $authenticated = false; 7 private $regexvalidator = array ( 8 'fstname_lstname'=>'/^[a-z]{2,24}$/', 9 'username'=>'/^[^0-9][a-z0-9_]+([.][a-z0-9_]+)*$/', ISET Djerba TriTux PAGE 37

39 10 11 /* 12 * Generate random password from a set of chars ($pool) 13 * 14 integer $len Password length 15 string Rand password 16 */ 17 private function generaterandompasswd($len = 10) { 18 $string = ''; 19 $pool = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz ' ; 20 for($i = 1; $i <= $len; $i ++) { 21 $string.= substr ( $pool, rand ( 0, 61 ), 1 ); 22 } return $string; 25 } /* 28 * Check if the user exists in host 29 * 30 string user User name 31 boolean True if user exist 32 */ 33 private function ifuserexists($user) { 34 $this->ssh2exec ( 'grep "^'.$user.':" /etc/passwd',true,true,$response); 35 if ($response==null) 36 return false; 37 return true; 38 } /* 42 * Generate an unique user name by fstname and lstname 43 * 44 string fstname The user first name 45 string lstname The user last name 46 * 47 Exception 895 Invalid first name 48 Exception 896 Invalid last name 49 * 50 string user name 51 */ ISET Djerba TriTux PAGE 38

40 52 private function generateusername($fstname,$lstname) { $fstname = strtolower(trim($fstname)); 56 $lstname = strtolower(trim($lstname)); 57 $fstname=str_replace(' ', '_', $fstname); 58 $lstname=str_replace(' ', '_', $lstname); //Check the first name 61 if (! preg_match($this- >regexvalidator['fstname_lstname'],$fstname)) 62 Throw new Exception('Invalid first name', 895); 63 //Check the last name 64 if (! preg_match($this- >regexvalidator['fstname_lstname'],$lstname)) 65 Throw new Exception('Invalid last name', 896); $username=$fstname.'.'.$lstname ; 68 $suffix=null; while ($this->ifuserexists($username.$suffix)) { 71 if (! $suffix ) $suffix=0 ; 72 $suffix++; 73 } return ($username.$suffix); 76 } /* 80 * Retrieve user name from an address 81 * 82 string addr address 83 * 84 Exception 870 Invalid address 85 Exception 890 Cannot do this operation on [domain] 86 * 87 string user name 88 */ 89 private function dostripatdomain($ addr) { //Check address to local user name 92 if (! preg_match($this- >regexvalidator[' address'],$ addr)) ISET Djerba TriTux PAGE 39

41 93 Throw new Exception('Invalid address: ('.$ addr.')', 870); //Convert user address to user name $domain=$part[1]; //Check the domaine name 101 if ( $domain!= $this->params['domain'] ) 102 Throw new Exception('This is not registered at '.$this- >params['domain'], 890); $user=$part[0]; return $user; } /** 113 * Create new mail user Version * false 117 * 118 string fstname The user first name 119 string lstname The user last name 120 boolean genpswd For auto generated password 121 string password User defined password 122 * 123 ( Adress:string,Password:string,WebMa ilurl:string) retmailaccount2 124 retmailaccount2 information about the created mail account 125 */ 126 public function docreat useraccount2($fstname,$lstname,$genpswd,$password) { $genusername=$this->generateusername($fstname, $lstname); 129 $retmailaccount2 = $this- >docreat useraccount($genusername,$genpswd,$password); return $retmailaccount2; 132 } 133 ISET Djerba TriTux PAGE 40

42 /** 137 * Create new mail user Version * false 141 string user The mail user logins 142 boolean genpswd For auto generated password 143 string password User defined password 144 * 145 Exception 803 Password verification failed 146 Exception 804 User already exists 147 Exception 841 Your password must be between {RANGE} characters in length 148 * 149 ( Adress:string,Password:string,POP3Port:integer,SMTPPort:integer,WebMailUrl:s tring) retmailaccount 150 retmailaccount information about the created mail account 151 */ 152 public function docreat useraccount($user,$genpswd,$password) { if (! preg_match($this->regexvalidator['username'],$user)) 155 Throw new Exception('Pattern matching error in user name', 803); if ( $this->ifuserexists($user) ) 158 Throw new Exception('User ('.$user.') already exists', 804); $UserHomeDir = $this->params ['mail_users_path'].'/'.$user; // Generate a random password 163 if ($genpswd) { 164 $password = $this->generaterandompasswd ( $this->params ['autogen_pswd_length'] ); 165 } else { 166 if ( strlen($password) < $this->params ['minimum_pswd_length'] strlen($password) > $this->params ['maximum_pswd_length']) 167 Throw new Exception("Your password must be between ".$this- >params ['minimum_pswd_length']."-".$this->params ['maximum_pswd_length']." characters in length", 841); } $cryptedpassword = crypt ( strip_tags ( $password ) ); ISET Djerba TriTux PAGE 41

43 // Create the user 174 $this->ssh2exec ( 'useradd -d '.$UserHomeDir.' -m -g '.$this- >params ['mail_group_name'].' -s /bin/false -p \''.$cryptedpassword.'\' '.$user); ; $retmailaccount = array(); 177 $retmailaccount [' Adress'] = $user.'@'.$this->params['domain'] 178 $retmailaccount ['Password'] = $password; 179 $retmailaccount ['POP3Port'] = $this->params ['pop3_port']; 180 $retmailaccount ['SMTPPort'] = $this->params ['smtp_port']; 181 $retmailaccount ['WebMailUrl'] = $this->params ['web_mail_url']; return $retmailaccount; } /** 189 * Cahnge a user password 190 * false 193 string addr user address 194 string oldpassword The old user password 195 string newpassword The new user password 196 * 197 Exception 840 Password verification failed 198 Exception 841 Your password must be between {RANGE} characters in length 199 Exception 842 Password should be different from the old one 200 * 201 boolean True when password changed 202 */ 203 public function dochang userpassword($ addr,$password,$new_password) { //Convert user address to user name 206 $user = $this->dostripatdomain($ addr); if (! $this->docheckpassword($user,$password) ) 209 Throw new Exception("Password verification failed", 840); if ( strlen($new_password) < $this->params ['minimum_pswd_length'] strlen($new_password) > $this->params ['maximum_pswd_length']) ISET Djerba TriTux PAGE 42

44 212 Throw new Exception("Your password must be between ".$this- >params ['minimum_pswd_length']."-".$this->params ['maximum_pswd_length']." characters in length", 841); if ($password == $new_password) 215 Throw new Exception("New password should be different from the old one", 842); $cryptednewpassword = crypt ( strip_tags ( $new_password ) ); 218 //Change the user password 219 $this->ssh2exec ( 'usermod -p \''.$cryptednewpassword.'\' '.$user); return true; 222 } /* 225 * Check if the user password is correct 226 * 227 string addr user user login 228 string password user password 229 * 230 Exception 850 Entered user name seems inexistant 231 Exception 851 Unexpected error while checking password 232 * 233 boolean True If password check success and False otherwise 234 */ 235 private function docheckpassword($user,$password) { //Check if the user exist 239 if (! $this->ifuserexists($user) ) 240 Throw new Exception('User ('.$user.') seems inexistant', 850); //Retrieve crypted user password from /etc/shadow 243 $this->ssh2exec ( 'grep ^'.$user.': /etc/shadow cut -d":" - f2',true,true,$refpswd); 244 if ($refpswd==null) 245 Throw new Exception("Unexpected error while checking password", 851); $cryptedreferencepassword = trim($refpswd); 248 //Comparing passwords 249 if ( crypt( strip_tags ( $password ),$cryptedreferencepassword )!= $cryptedreferencepassword ) 250 return false; ISET Djerba TriTux PAGE 43

45 return true; 253 } /** 256 * Delete a mail user account 257 * false 260 string addr mail user name or full adress 261 Exception 850 Entered user name seems inexistant 262 Exception 860 Cannot do such operation on a non mail user 263 boolean True When user is deleted 264 */ 265 public function dodelet useraccount($ addr) { //Convert user address to user name 268 $user = $this->dostripatdomain($ addr); //Check if the user exist 271 if (! $this->ifuserexists($user) ) 272 Throw new Exception('User ('.$user.') seems inexistant', 850); //Verify if mail user 275 $this->ssh2exec ( 'groups '.$user,true,true,$groupname); 276 if (trim($groupname)!=$this->params ['mail_group_name']) 277 Throw new Exception("Cannot do such operation on a non mail user", 860); // Delete the user 280 $this->ssh2exec ( 'userdel -r '.$user); 281 return true; 282 } /** 286 * Unlock a mail user account 287 * false 290 string addr mail user name or full adress 291 Exception 850 Entered user name seems inexistant 292 Exception 860 Cannot do such operation on a non mail user ISET Djerba TriTux PAGE 44

46 293 boolean True When user account is unlocked 294 */ 295 public function dounlockmailuseraccount($ addr) { //Convert user address to user name 298 $user = $this->dostripatdomain($ addr); //Check if the user exist 301 if (! $this->ifuserexists($user) ) 302 Throw new Exception('User ('.$user.') seems inexistant', 850); //Verify if mail user 305 $this->ssh2exec ( 'groups '.$user,true,true,$groupname); 306 if (trim($groupname)!=$this->params ['mail_group_name']) 307 Throw new Exception("Cannot do such operation on a non mail user", 860); // Activate the user account 310 $this->ssh2exec ( 'passwd -u '.$user); 311 return true; 312 } /** 315 * Lock a mail user account 316 * false 319 string addr mail user name or full adress 320 Exception 850 Entered user name seems inexistant 321 Exception 860 Cannot do such operation on a non mail user 322 boolean True When user account is locked 323 */ 324 public function dolockmailuseraccount($ addr) { //Convert user address to user name 327 $user = $this->dostripatdomain($ addr); //Check if the user exist 330 if (! $this->ifuserexists($user) ) 331 Throw new Exception('User ('.$user.') seems inexistant', 850); //Verify if mail user ISET Djerba TriTux PAGE 45

47 334 $this->ssh2exec ( 'groups '.$user,true,true,$groupname); 335 if (trim($groupname)!=$this->params ['mail_group_name']) 336 Throw new Exception("Cannot do such operation on a non mail user", 860); // Disable the user account 339 $this->ssh2exec ( 'passwd -l '.$user); 340 return true; 341 } /** 345 * Send (internal) 346 * false 349 string from Sender address or user name 350 string to Receiver address 351 string message Message body 352 string subject The subject of the message 353 * 354 Exception 850 Entered user name seems inexistant 355 Exception 870 Invalid receiver address 356 Exception 871 Cannot send empty message 357 * 358 * 359 boolean True when message sent 360 */ 361 public function dosendmail($from,$to,$message,$subject=null) { //Convert sender address to user name 364 $user_sender = $this->dostripatdomain($from); //Check if the sender user exist 368 if (! $this->ifuserexists($user_sender) ) 369 Throw new Exception('User ('.$user_sender.') seems inexistant', 850); if (! preg_match($this->regexvalidator[' address'],$to)) 372 Throw new Exception('Invalid address: ('.$to.')', 870); if ( $message==null ) 375 Throw new Exception('Cannot send empty message', 871); 376 ISET Djerba TriTux PAGE 46

48 377 //Send a message 378 $this->ssh2exec ( 'echo -e "'.$message.'" sudo -u '.$user_sender.' mail -s "'.$subject.'" '.$to); 379 return true; 380 } /* 385 * Executes a $cmd on the SSH connection and return $readable response on-demand 386 * 387 string $cmd Command to execute 388 bool $exception Whether to throw exception on error or return false 389 bool $readresponse Whether to return a readable response or not 390 pointer $response The readable response if requested will be here 391 Exception 200 If ($exception) AND we got an error while executing the command 392 ressource The ssh2_exec return 393 */ 394 private function ssh2exec($cmd, $exception = true, $readresponse = false, &$response = null) { 395 $this->setsessionlog ( 'sent', $cmd ); 396 $stream = ssh2_exec ( $this->sshcon, $cmd ); //get the content of ssh2 stderr 399 $stderr = ssh2_fetch_stream ( $stream, SSH2_STREAM_STDERR ); 400 stream_set_blocking ( $stderr, true ); 401 $response_stderr = stream_get_contents ( $stderr ); 402 fclose ( $stderr ); if ($response_stderr) { 405 if ($exception) { 406 $this->setsessionlog ( 'received', $response_stderr ); 407 throw new Exception ( "Error executing cmd: [$cmd]", 200 ); 408 } else { 409 $this->setsessionlog ( 'received', $response_stderr ); 410 return false; 411 } 412 } if ($readresponse) { 415 stream_set_blocking ( $stream, true ); ISET Djerba TriTux PAGE 47

49 416 $response = stream_get_contents ( $stream ); 417 fclose ( $stream ); 418 $this->setsessionlog ( 'received', $response ); 419 } else { 420 $this->setsessionlog ( 'received', '[PB:noerror]' ); 421 } return $stream; 424 } /* 428 * Make connection to the Server and authenticate 429 * 430 bool true on connection success, false if not 431 */ 432 public function connect() { 433 try { 434 $this->sshcon = ssh2_connect ( $this->params ['host'] ); 435 if (! $this->sshcon) 436 throw new Exception ( "SSH Connection failure To the Host", 200 ); if (! ssh2_auth_password ( $this->sshcon, $this->params ['login'], $this->params ['password'] )) 439 throw new Exception ( "Authentication failure To the host using username: ". $this->params ['login'], 201 ); $this->authenticated = true; 442 return true; 443 } catch ( Exception $e ) { 444 $this->setlasterror ( $e->getcode (), $e->getmessage () ); 445 return false; 446 } 447 } /* 450 * Disconnect from the server by executing a logout command 451 * 452 bool true (allways) 453 */ 454 public function disconnect() { 455 if ($this->sshcon) { 456 if ($this->authenticated) { 457 ssh2_exec ( $this->sshcon, "logout" ); ISET Djerba TriTux PAGE 48

50 458 } else 459 $this->sshcon = null; 460 } return true; 463 } } Classe du connecteur : pbsmsserviceconnector Code source : SMSService.connector.php 1 <?php 2 3 class SMSService extends PodBridgeConnector implements PodBridgeConnectorInterface { 4 5 //cannot be delivered 6 7 private $regexvalidator = array ( 8 'sn_regex'=>'/^(00 \+ [0-9])[0-9]{7}$/'); 9 10 /** 11 * dosendsms 12 * false 15 * 16 string destinataire Destination Phone number 17 string message Message Text 18 * 19 boolean true if message successfully sent 20 */ 21 public function dosendsms($destinataire,$message) { //cannot be delivered 24 ISET Djerba TriTux PAGE 49

51 25 return true; 26 } private function stripspaces($phonenumber) { 30 $fixed=str_replace(' ', '',$phonenumber); 31 if (! preg_match($this->regexvalidator['sn_regex'],$fixed)) 32 Throw new Exception('Phone number format error', 808); return $fixed; 35 } /* 38 * Make connection to the Server and authenticate 39 * 40 bool true on connection success, false if not 41 */ 42 public function connect() { 43 //cannot be delivered 44 return true; } /* 49 * Disconnect from the server by executing a logout command 50 * 51 bool true (allways) 52 */ 53 public function disconnect() { 54 //cannot be delivered 55 return true; 56 } } Classe du connecteur : pbwwwsubscrconnector Code source : wwwsubscr.connector.php ISET Djerba TriTux PAGE 50

52 1 <?php 2 3 class wwwsubscr extends PodBridgeConnector implements PodBridgeConnectorInterface { 4 5 private $curl_handle = null; 6 7 /** 8 * Returns the receipt identifier and URL for the web site 9 * false 12 * 13 string studentident Identifiant de l'étudiant 14 string au AU format exp: 2009/ * 16 (refaccuse:string,urlaccuse:string) getaccuseout 17 getaccuseout Return refaccuse & urlaccuse 18 */ 19 public function getaccuse($studentident,$au) { $ref=$this->getaccuseref($studentident,$au); 22 $url=' $getaccuseout = array (); 25 $getaccuseout['refaccuse']=$ref; 26 $getaccuseout['urlaccuse']=$url; return $getaccuseout; } /* 34 string studentident Student identifier 35 string au AU format exp: 2009/ * 37 string Référence du reçu 38 */ 39 private function getaccuseref($studentident,$au) { if (! preg_match('/^[0-9]{8}$/',$studentident) ) 42 Throw new Exception('L\'identifiant de l\'étudiant doit être compsé de 8 chiffres', 805); 43 ISET Djerba TriTux PAGE 51

53 44 if (! preg_match('/^20[0-9][0-9]\/20[0-9][0-9]$/',$au) ) 45 Throw new Exception('L\'année universitaire doit être en ce format AAAA/AAAA', 806); curl_setopt($this->curl_handle,curlopt_post,1); 48 curl_setopt($this- >curl_handle,curlopt_postfields,'ident='.$studentident); 49 $buffer = curl_exec($this->curl_handle); preg_match('/nom:/', (string)$buffer,$matches0); 52 preg_match('/20[0-9][0-9]\/20[0-9][0-9]/', (string)$buffer,$matches1 ); 53 preg_match('/[0-9]{16}/', (string)$buffer,$matches2); if (! $matches0[0]) 56 Throw new Exception('Identifiant de l\'étudiant est non reconnu', 807); if ( $matches1[0]!=$au) 59 Throw new Exception('Payement non effectué!', 809); $ref=$matches2[0]; return $ref; 64 } /* 68 * Make connection to the Server and authenticate 69 * 70 bool true on connection success, false if not 71 */ 72 public function connect() { try { $this->curl_handle = curl_init(); 77 curl_setopt( $this- >curl_handle,curlopt_url,"inscription.edu.demo"); 78 curl_setopt($this->curl_handle,curlopt_connecttimeout,2); 79 curl_setopt($this->curl_handle,curlopt_returntransfer,1); return true; } catch ( Exception $e ) { ISET Djerba TriTux PAGE 52

54 84 $this->setlasterror ( $e->getcode (), $e->getmessage () ); 85 return false; 86 } } /* 91 * Disconnect from the server by executing a logout command 92 * 93 bool true (allways) 94 */ 95 public function disconnect() { curl_close($this->curl_handle); return true; 100 } } Fichiers WSDL WSDL exposé par PodBridge1.2 sur «podbridge.intranet.demo» Source : all <definitions xmlns=" name="podbridge" targetnamespace="urn:pbns" xmlns:pbns="urn:pbns" xmlns:xsd=" xmlns:wsdl=" xmlns:soap=" xmlns:ippservicens="urn:ippservicens" xmlns:ftpacntns="urn:ftpacntns" xmlns:bdetuns="urn:bdetuns" xmlns:smsservicens="urn:smsservicens" xmlns:apaclmanns="urn:apaclmanns" xmlns:wwwsubscrns="urn:wwwsubscrns"> <types> <schema xmlns=" targetnamespace="urn:pbns" elementformdefault="qualified" attributeformdefault="qualified"> ISET Djerba TriTux PAGE 53

55 <xsd:complextype name="tstatus"> <xsd:sequence> <xsd:element name="msg" type="xsd:string"/> <xsd:element name="code" type="xsd:integer"/> </xsd:sequence> </xsd:complextype> <element name="ping"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="pingresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> </schema> <schema xmlns=" targetnamespace="urn:ippservicens" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:pbns"/> <element name="doprintwebpage"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" ISET Djerba TriTux PAGE 54

56 <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="url" type="xsd:string"/> <xsd:element name="jobname" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> </element> <element name="doprintwebpageresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="doprintinternaldocument"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="filepath" type="xsd:string"/> <xsd:element name="jobname" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> </element> <element name="doprintinternaldocumentresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" ISET Djerba TriTux PAGE 55

57 </xsd:sequence> </xsd:complextype> </element> <element name="getprinters"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="getprintersresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:string" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> </schema> <schema xmlns=" targetnamespace="urn:ftpacntns" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:pbns"/> <xsd:complextype name="docreateftpuseraccountout"> <xsd:sequence> <xsd:element name="userlogin" type="xsd:string"/> <xsd:element name="password" type="xsd:string"/> <xsd:element name="serverdomain" type="xsd:string"/> <xsd:element name="ftpport" type="xsd:integer"/> </xsd:sequence> </xsd:complextype> <element name="docreateftpuseraccount"> <xsd:complextype> <xsd:sequence> ISET Djerba TriTux PAGE 56

58 <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="user" type="xsd:string"/> <xsd:element name="expiry_date" type="xsd:string"/> <xsd:element name="use_welcome" type="xsd:boolean"/> </xsd:sequence> </xsd:complextype> </element> <element name="docreateftpuseraccountresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="ftpacntns:docreateftpuseraccountout" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="setftpuseraccountexpirydate"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="user" type="xsd:string"/> <xsd:element name="expiry_date" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="setftpuseraccountexpirydateresponse"> <xsd:complextype> ISET Djerba TriTux PAGE 57

59 <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="setftpuserwelcomemsg"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="user" type="xsd:string"/> <xsd:element name="message" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="setftpuserwelcomemsgresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="dodisableftpuserwelcomemsg"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" ISET Djerba TriTux PAGE 58

60 <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="user" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dodisableftpuserwelcomemsgresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="dochangeftpuserpassword"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="user" type="xsd:string"/> <xsd:element name="oldpassword" type="xsd:string"/> <xsd:element name="newpassword" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dochangeftpuserpasswordresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> ISET Djerba TriTux PAGE 59

61 <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="dodeleteftpuseraccount"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="user" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dodeleteftpuseraccountresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="doftpsendfile"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" ISET Djerba TriTux PAGE 60

62 <xsd:element name="file" type="xsd:string"/> <xsd:element name="user" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="doftpsendfileresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> </schema> <schema xmlns=" targetnamespace="urn:bdetuns" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:pbns"/> <xsd:complextype name="getstudentbyidout"> <xsd:sequence> <xsd:element name="id" type="xsd:string"/> <xsd:element name="nom" type="xsd:string"/> <xsd:element name="prenom" type="xsd:string"/> <xsd:element name="dep" type="xsd:string"/> <xsd:element name="spec" type="xsd:string"/> <xsd:element name="niveau" type="xsd:integer"/> <xsd:element name="tel" type="xsd:string"/> <xsd:element name=" " type="xsd:string"/> <xsd:element name="loginftp" type="xsd:string"/> <xsd:element name="adrmac" type="xsd:string"/> <xsd:element name="refrecu" type="xsd:string"/> <xsd:element name="process" type="xsd:string"/> </xsd:sequence> </xsd:complextype> <element name="getstudentbyid"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" ISET Djerba TriTux PAGE 61

63 <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="id" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="getstudentbyidresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="bdetuns:getstudentbyidout" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="updatestudentbyid"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="id" type="xsd:string"/> <xsd:element name="tel" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> <xsd:element name=" " type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> <xsd:element name="loginftp" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> <xsd:element name="adrmac" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> <xsd:element name="refrecu" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> <xsd:element name="process" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> ISET Djerba TriTux PAGE 62

64 </element> <element name="updatestudentbyidresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <xsd:complextype name="retarray"> <xsd:sequence> <xsd:element name="nextid" type="xsd:string"/> <xsd:element name="last" type="xsd:boolean"/> </xsd:sequence> </xsd:complextype> <element name="getnextid"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="id" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> <xsd:element name="filter" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="getnextidresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="bdetuns:retarray" minoccurs="0" ISET Djerba TriTux PAGE 63

65 </xsd:sequence> </xsd:complextype> </element> </schema> <schema xmlns=" targetnamespace="urn:smsservicens" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:pbns"/> <element name="dosendsms"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="destinataire" type="xsd:string"/> <xsd:element name="message" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dosendsmsresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> </schema> <schema xmlns=" targetnamespace="urn:apaclmanns" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:pbns"/> <xsd:complextype name="doforwardmacaddrout"> <xsd:sequence> <xsd:element name="ssid" type="xsd:string"/> <xsd:element name="auth_key" type="xsd:string"/> ISET Djerba TriTux PAGE 64

66 </xsd:sequence> </xsd:complextype> <element name="doforwardmacaddr"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="macaddr" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="doforwardmacaddrresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="apaclmanns:doforwardmacaddrout" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="doromoveforwordedmacaddr"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="macaddr" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> ISET Djerba TriTux PAGE 65

67 <element name="doromoveforwordedmacaddrresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> </schema> <schema xmlns=" targetnamespace="urn:wwwsubscrns" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:pbns"/> <xsd:complextype name="getaccuseout"> <xsd:sequence> <xsd:element name="refaccuse" type="xsd:string"/> <xsd:element name="urlaccuse" type="xsd:string"/> </xsd:sequence> </xsd:complextype> <element name="getaccuse"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="studentident" type="xsd:string"/> <xsd:element name="au" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="getaccuseresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> ISET Djerba TriTux PAGE 66

68 <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="wwwsubscrns:getaccuseout" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> </schema> </types> <porttype name="podbridgeporttype"> <operation name="ping"> <input message="pbns:pingrequest"/> <output message="pbns:pingresponse"/> </operation> <operation name="doprintwebpage"> <input message="pbns:doprintwebpagerequest"/> <output message="pbns:doprintwebpageresponse"/> </operation> <operation name="doprintinternaldocument"> <input message="pbns:doprintinternaldocumentrequest"/> <output message="pbns:doprintinternaldocumentresponse"/> </operation> <operation name="getprinters"> <input message="pbns:getprintersrequest"/> <output message="pbns:getprintersresponse"/> </operation> <operation name="docreateftpuseraccount"> <input message="pbns:docreateftpuseraccountrequest"/> <output message="pbns:docreateftpuseraccountresponse"/> </operation> <operation name="setftpuseraccountexpirydate"> <input message="pbns:setftpuseraccountexpirydaterequest"/> <output message="pbns:setftpuseraccountexpirydateresponse" /> </operation> <operation name="setftpuserwelcomemsg"> <input message="pbns:setftpuserwelcomemsgrequest"/> <output message="pbns:setftpuserwelcomemsgresponse"/> </operation> <operation name="dodisableftpuserwelcomemsg"> <input message="pbns:dodisableftpuserwelcomemsgrequest"/> <output message="pbns:dodisableftpuserwelcomemsgresponse"/> </operation> <operation name="dochangeftpuserpassword"> <input message="pbns:dochangeftpuserpasswordrequest"/> <output message="pbns:dochangeftpuserpasswordresponse"/> ISET Djerba TriTux PAGE 67

69 </operation> <operation name="dodeleteftpuseraccount"> <input message="pbns:dodeleteftpuseraccountrequest"/> <output message="pbns:dodeleteftpuseraccountresponse"/> </operation> <operation name="doftpsendfile"> <input message="pbns:doftpsendfilerequest"/> <output message="pbns:doftpsendfileresponse"/> </operation> <operation name="getstudentbyid"> <input message="pbns:getstudentbyidrequest"/> <output message="pbns:getstudentbyidresponse"/> </operation> <operation name="updatestudentbyid"> <input message="pbns:updatestudentbyidrequest"/> <output message="pbns:updatestudentbyidresponse"/> </operation> <operation name="getnextid"> <input message="pbns:getnextidrequest"/> <output message="pbns:getnextidresponse"/> </operation> <operation name="dosendsms"> <input message="pbns:dosendsmsrequest"/> <output message="pbns:dosendsmsresponse"/> </operation> <operation name="doforwardmacaddr"> <input message="pbns:doforwardmacaddrrequest"/> <output message="pbns:doforwardmacaddrresponse"/> </operation> <operation name="doromoveforwordedmacaddr"> <input message="pbns:doromoveforwordedmacaddrrequest"/> <output message="pbns:doromoveforwordedmacaddrresponse"/> </operation> <operation name="getaccuse"> <input message="pbns:getaccuserequest"/> <output message="pbns:getaccuseresponse"/> </operation> </porttype> <binding name="podbridgebinding" type="pbns:podbridgeporttype"> <soap:binding style="document" transport=" <operation name="ping"> <input> <soap:body use="literal"/> </input> ISET Djerba TriTux PAGE 68

70 <output> <soap:body use="literal"/> </output> </operation> <operation name="doprintwebpage"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="doprintinternaldocument"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="getprinters"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="docreateftpuseraccount"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="setftpuseraccountexpirydate"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> ISET Djerba TriTux PAGE 69

71 <operation name="setftpuserwelcomemsg"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dodisableftpuserwelcomemsg"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dochangeftpuserpassword"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dodeleteftpuseraccount"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="doftpsendfile"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="getstudentbyid"> <input> <soap:body use="literal"/> </input> ISET Djerba TriTux PAGE 70

72 <output> <soap:body use="literal"/> </output> </operation> <operation name="updatestudentbyid"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="getnextid"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dosendsms"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="doforwardmacaddr"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="doromoveforwordedmacaddr"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> ISET Djerba TriTux PAGE 71

73 <operation name="getaccuse"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <message name="pingrequest"> <part name="body" element="pbns:ping"/> </message> <message name="pingresponse"> <part name="body" element="pbns:pingresponse"/> </message> <message name="doprintwebpagerequest"> <part name="body" element="ippservicens:doprintwebpage"/> </message> <message name="doprintwebpageresponse"> <part name="body" element="ippservicens:doprintwebpageresponse"/> </message> <message name="doprintinternaldocumentrequest"> <part name="body" element="ippservicens:doprintinternaldocument"/> </message> <message name="doprintinternaldocumentresponse"> <part name="body" element="ippservicens:doprintinternaldocumentresponse" /> </message> <message name="getprintersrequest"> <part name="body" element="ippservicens:getprinters"/> </message> <message name="getprintersresponse"> <part name="body" element="ippservicens:getprintersresponse"/> </message> <message name="docreateftpuseraccountrequest"> <part name="body" element="ftpacntns:docreateftpuseraccount"/> </message> <message name="docreateftpuseraccountresponse"> <part name="body" element="ftpacntns:docreateftpuseraccountresponse"/> </message> <message name="setftpuseraccountexpirydaterequest"> <part name="body" element="ftpacntns:setftpuseraccountexpirydate"/> </message> <message name="setftpuseraccountexpirydateresponse"> <part name="body" element="ftpacntns:setftpuseraccountexpirydateresponse"/> ISET Djerba TriTux PAGE 72

74 </message> <message name="setftpuserwelcomemsgrequest"> <part name="body" element="ftpacntns:setftpuserwelcomemsg"/> </message> <message name="setftpuserwelcomemsgresponse"> <part name="body" element="ftpacntns:setftpuserwelcomemsgresponse"/> </message> <message name="dodisableftpuserwelcomemsgrequest"> <part name="body" element="ftpacntns:dodisableftpuserwelcomemsg"/> </message> <message name="dodisableftpuserwelcomemsgresponse"> <part name="body" element="ftpacntns:dodisableftpuserwelcomemsgresponse"/> </message> <message name="dochangeftpuserpasswordrequest"> <part name="body" element="ftpacntns:dochangeftpuserpassword"/> </message> <message name="dochangeftpuserpasswordresponse"> <part name="body" element="ftpacntns:dochangeftpuserpasswordresponse" /> </message> <message name="dodeleteftpuseraccountrequest"> <part name="body" element="ftpacntns:dodeleteftpuseraccount"/> </message> <message name="dodeleteftpuseraccountresponse"> <part name="body" element="ftpacntns:dodeleteftpuseraccountresponse"/> </message> <message name="doftpsendfilerequest"> <part name="body" element="ftpacntns:doftpsendfile"/> </message> <message name="doftpsendfileresponse"> <part name="body" element="ftpacntns:doftpsendfileresponse"/> </message> <message name="getstudentbyidrequest"> <part name="body" element="bdetuns:getstudentbyid"/> </message> <message name="getstudentbyidresponse"> <part name="body" element="bdetuns:getstudentbyidresponse"/> </message> <message name="updatestudentbyidrequest"> <part name="body" element="bdetuns:updatestudentbyid"/> </message> <message name="updatestudentbyidresponse"> <part name="body" element="bdetuns:updatestudentbyidresponse"/> </message> <message name="getnextidrequest"> ISET Djerba TriTux PAGE 73

75 <part name="body" element="bdetuns:getnextid"/> </message> <message name="getnextidresponse"> <part name="body" element="bdetuns:getnextidresponse"/> </message> <message name="dosendsmsrequest"> <part name="body" element="smsservicens:dosendsms"/> </message> <message name="dosendsmsresponse"> <part name="body" element="smsservicens:dosendsmsresponse"/> </message> <message name="doforwardmacaddrrequest"> <part name="body" element="apaclmanns:doforwardmacaddr"/> </message> <message name="doforwardmacaddrresponse"> <part name="body" element="apaclmanns:doforwardmacaddrresponse"/> </message> <message name="doromoveforwordedmacaddrrequest"> <part name="body" element="apaclmanns:doromoveforwordedmacaddr"/> </message> <message name="doromoveforwordedmacaddrresponse"> <part name="body" element="apaclmanns:doromoveforwordedmacaddrresponse"/> </message> <message name="getaccuserequest"> <part name="body" element="wwwsubscrns:getaccuse"/> </message> <message name="getaccuseresponse"> <part name="body" element="wwwsubscrns:getaccuseresponse"/> </message> <service name="podbridgeservice"> <port name="podbridgeport" binding="pbns:podbridgebinding"> <soap:address location=" </port> </service> </definitions> WSDL exposé par PodBridge1.2 sur «ws.rnu.edu.demo» Source : ISET Djerba TriTux PAGE 74

76 <?xml version="1.0" encoding="utf-8"?> <definitions xmlns=" name="podbridge" targetnamespace="urn:tns" xmlns:tns="urn:tns" xmlns:xsd=" xmlns:wsdl=" xmlns:soap=" xmlns:pbns="urn:pbns" xmlns:mailacntns="urn:mailacntns"> <types> <schema xmlns=" targetnamespace="urn:tns" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:complextype name="tstatus"> <xsd:sequence> <xsd:element name="msg" type="xsd:string"/> <xsd:element name="code" type="xsd:integer"/> </xsd:sequence> </xsd:complextype> </schema> <schema xmlns=" targetnamespace="urn:pbns" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:tns"/> <element name="ping"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="pingresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" </xsd:sequence> ISET Djerba TriTux PAGE 75

77 </xsd:complextype> </element> </schema> <schema xmlns=" targetnamespace="urn:mailacntns" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:tns"/> <xsd:complextype name="retmailaccount2"> <xsd:sequence> <xsd:element name=" adress" type="xsd:string"/> <xsd:element name="password" type="xsd:string"/> <xsd:element name="webmailurl" type="xsd:string"/> </xsd:sequence> </xsd:complextype> <element name="docreat useraccount2"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="fstname" type="xsd:string"/> <xsd:element name="lstname" type="xsd:string"/> <xsd:element name="genpswd" type="xsd:boolean"/> <xsd:element name="password" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="docreat useraccount2response"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" <xsd:element name="response" type="mailacntns:retmailaccount2" minoccurs="0" ISET Djerba TriTux PAGE 76

78 </xsd:sequence> </xsd:complextype> </element> <xsd:complextype name="retmailaccount"> <xsd:sequence> <xsd:element name=" adress" type="xsd:string"/> <xsd:element name="password" type="xsd:string"/> <xsd:element name="pop3port" type="xsd:integer"/> <xsd:element name="smtpport" type="xsd:integer"/> <xsd:element name="webmailurl" type="xsd:string"/> </xsd:sequence> </xsd:complextype> <element name="docreat useraccount"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="user" type="xsd:string"/> <xsd:element name="genpswd" type="xsd:boolean"/> <xsd:element name="password" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="docreat useraccountresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" <xsd:element name="response" type="mailacntns:retmailaccount" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> ISET Djerba TriTux PAGE 77

79 <element name="dochang userpassword"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name=" addr" type="xsd:string"/> <xsd:element name="oldpassword" type="xsd:string"/> <xsd:element name="newpassword" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dochang userpasswordresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="dodelet useraccount"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name=" addr" type="xsd:string"/> ISET Djerba TriTux PAGE 78

80 </xsd:sequence> </xsd:complextype> </element> <element name="dodelet useraccountresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="dounlockmailuseraccount"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name=" addr" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dounlockmailuseraccountresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> ISET Djerba TriTux PAGE 79

81 </element> <element name="dolockmailuseraccount"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name=" addr" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dolockmailuseraccountresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="dosendmail"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="from" type="xsd:string"/> ISET Djerba TriTux PAGE 80

82 <xsd:element name="to" type="xsd:string"/> <xsd:element name="message" type="xsd:string"/> <xsd:element name="subject" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dosendmailresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> </schema> </types> <porttype name="podbridgeporttype"> <operation name="ping"> <input message="tns:pingrequest"/> <output message="tns:pingresponse"/> </operation> <operation name="docreat useraccount2"> <input message="tns:docreat useraccount2request"/> <output message="tns:docreat useraccount2response"/> </operation> <operation name="docreat useraccount"> <input message="tns:docreat useraccountrequest"/> <output message="tns:docreat useraccountresponse"/> </operation> <operation name="dochang userpassword"> <input message="tns:dochang userpasswordrequest"/> <output message="tns:dochang userpasswordresponse"/> </operation> <operation name="dodelet useraccount"> <input message="tns:dodelet useraccountrequest"/> <output message="tns:dodelet useraccountresponse"/> </operation> ISET Djerba TriTux PAGE 81

83 <operation name="dounlockmailuseraccount"> <input message="tns:dounlockmailuseraccountrequest"/> <output message="tns:dounlockmailuseraccountresponse"/> </operation> <operation name="dolockmailuseraccount"> <input message="tns:dolockmailuseraccountrequest"/> <output message="tns:dolockmailuseraccountresponse"/> </operation> <operation name="dosendmail"> <input message="tns:dosendmailrequest"/> <output message="tns:dosendmailresponse"/> </operation> </porttype> <binding name="podbridgebinding" type="tns:podbridgeporttype"> <soap:binding style="document" transport=" <operation name="ping"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="docreat useraccount2"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="docreat useraccount"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dochang userpassword"> ISET Djerba TriTux PAGE 82

84 <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dodelet useraccount"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dounlockmailuseraccount"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dolockmailuseraccount"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dosendmail"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> ISET Djerba TriTux PAGE 83

85 </binding> <message name="pingrequest"> <part name="body" element="pbns:ping"/> </message> <message name="pingresponse"> <part name="body" element="pbns:pingresponse"/> </message> <message name="docreat useraccount2request"> <part name="body" element="mailacntns:docreat useraccount2"/> </message> <message name="docreat useraccount2response"> <part name="body" element="mailacntns:docreat useraccount2response"/> </message> <message name="docreat useraccountrequest"> <part name="body" element="mailacntns:docreat useraccount"/> </message> <message name="docreat useraccountresponse"> <part name="body" element="mailacntns:docreat useraccountresponse"/> </message> <message name="dochang userpasswordrequest"> <part name="body" element="mailacntns:dochang userpassword"/> </message> <message name="dochang userpasswordresponse"> <part name="body" element="mailacntns:dochang userpasswordresponse"/> </message> <message name="dodelet useraccountrequest"> <part name="body" element="mailacntns:dodelet useraccount"/> </message> <message name="dodelet useraccountresponse"> <part name="body" element="mailacntns:dodelet useraccountresponse"/> </message> <message name="dounlockmailuseraccountrequest"> <part name="body" element="mailacntns:dounlockmailuseraccount"/> </message> <message name="dounlockmailuseraccountresponse"> <part name="body" element="mailacntns:dounlockmailuseraccountresponse"/> </message> <message name="dolockmailuseraccountrequest"> <part name="body" element="mailacntns:dolockmailuseraccount"/> </message> ISET Djerba TriTux PAGE 84

86 <message name="dolockmailuseraccountresponse"> <part name="body" element="mailacntns:dolockmailuseraccountresponse"/> </message> <message name="dosendmailrequest"> <part name="body" element="mailacntns:dosendmail"/> </message> <message name="dosendmailresponse"> <part name="body" element="mailacntns:dosendmailresponse"/> </message> <service name="podbridgeservice"> <port name="podbridgeport" binding="tns:podbridgebinding"> <soap:address location=" /> </port> </service> </definitions> WSDL du service «ProcessRUById» Source : processrubyid.wsdl <?xml version="1.0" encoding="utf-8"?> <definitions name="processrubyid" targetnamespace=" xmlns=" xmlns:wsdl=" xmlns:xsd=" xmlns:tns=" xmlns:plnk=" <types/> <message name="processrubyidoperationrequest"> <part name="identifiant" type="xsd:string"/> </message> <message name="processrubyidoperationresponse"> <part name="statut" type="xsd:string"/> </message> <porttype name="processrubyidporttype"> <operation name="processrubyidoperation"> <input name="processrubyidrequest" message="tns:processrubyidoperationrequest"/> ISET Djerba TriTux PAGE 85

87 <output name="processrubyidresponse" message="tns:processrubyidoperationresponse"/> </operation> </porttype> <plnk:partnerlinktype name="processrubyid"> <!-- A partner link type is automatically generated when a new port type is added. Partner link types are used by BPEL processes. In a BPEL process, a partner link represents the interaction between the BPEL process and a partner service. Each partner link is associated with a partner link type. A partner link type characterizes the conversational relationship between two services. The partner link type can have one or two roles. --> <plnk:role name="processrubyidporttyperole" porttype="tns:processrubyidporttype"/> </plnk:partnerlinktype> </definitions> WSDL du service «BatchProcessRU» <?xml version="1.0" encoding="utf-8"?> 2 <definitions name="batchprocessru" targetnamespace=" 3 xmlns=" 4 xmlns:wsdl=" 5 xmlns:xsd=" xmlns:tns=" xmlns:ns=" xmlns:plnk=" 6 <types> 7 <xsd:schema targetnamespace=" 8 <xsd:import namespace=" schemalocation="batchprocessrutypes.xsd"/> 9 </xsd:schema> 10 </types> 11 <message name="batchprocessruoperationrequest"> 12 <part name="part1" type="ns:input"/> 13 </message> 14 <message name="batchprocessruoperationresponse"> 15 <part name="part1" type="ns:output"/> 16 </message> 17 <porttype name="batchprocessruporttype"> 18 <operation name="batchprocessruoperation"> 19 <input name="input1" message="tns:batchprocessruoperationrequest"/> ISET Djerba TriTux PAGE 86

88 20 <output name="output1" message="tns:batchprocessruoperationresponse"/> 21 </operation> 22 </porttype> 23 <plnk:partnerlinktype name="batchprocessru"> 24 <!-- A partner link type is automatically generated when a new port type is added. Partner link types are used by BPEL processes. 25 In a BPEL process, a partner link represents the interaction between the BPEL process and a partner service. Each partner link is associated with a partner link type. 26 A partner link type characterizes the conversational relationship between two services. The partner link type can have one or two roles.--> 27 <plnk:role name="batchprocessruporttyperole" porttype="tns:batchprocessruporttype"/> 28 </plnk:partnerlinktype> 29 </definitions> Fichier XSD (Définition des paramètres d E/S du processus BatchProcessRU) Source : BatchProcessRUTypes.xsd <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns:tns=" elementformdefault="qualified"> <xsd:complextype name="input"> <xsd:sequence> <xsd:element name="filter" type="xsd:string"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="output"> <xsd:sequence> <xsd:element name="message" type="xsd:string"/> <xsd:element name="statecode" type="xsd:integer"/> <xsd:element name="date"> <xsd:complextype> ISET Djerba TriTux PAGE 87

89 <xsd:sequence> <xsd:element name="start" type="xsd:string"/> <xsd:element name="end" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:sequence> </xsd:complextype> </xsd:schema> 2.5. Fichiers BPEL Fichier source : ProcessRUById.bpel <?xml version="1.0" encoding="utf-8"?> <process name="processrubyid" targetnamespace=" xmlns=" xmlns:xsd=" xmlns:sxt=" xmlns:sxed=" xmlns:sxat=" ess/executable/sunextension/attachme nt" xmlns:sxeh=" dling" xmlns:tns=" xmlns:sxed2=" process/executable/sunextension/editor2 " xmlns:ns0="urn:wwwsubscrns" xmlns:ns1="urn:bdetuns" xmlns:ns2="urn:lprintns" xmlns:pbns="urn:pbns" xmlns:ns3="urn:ftpacntns" xmlns:ns4="urn:mailacntns" xmlns:sxxf=" ctions" xmlns:ns5="urn:apaclmanns" xmlns:sxtx=" ion" sxtx:atomic="no" xmlns:ns6="urn:ippservicens" xmlns:ns7="urn:smsservicens" xmlns:ns8="urn:tns"> <import namespace=" location="processrubyid.wsdl" importtype=" ISET Djerba TriTux PAGE 88

90 <import namespace=" location="serviceswrapper.wsdl" importtype=" <import namespace="urn:pbns" location="services.wsdl" importtype=" <import namespace=" location="services_rnuwrapper.wsdl" importtype=" <import namespace="urn:tns" location="services_rnu.wsdl" importtype=" <partnerlinks> <partnerlink name="pbserviceslocalpl" xmlns:tns=" partnerlinktype="tns:podbridgelinktype" partnerrole="podbridgerole"/> <partnerlink name="pbservicesrnupl" xmlns:tns=" partnerlinktype="tns:podbridgelinktype" partnerrole="podbridgerole"/> <partnerlink name="processrubyidpl" xmlns:tns=" partnerlinktype="tns:processrubyid" myrole="processrubyidporttyperole"/> </partnerlinks> <variables> <variable name="dosendsms_bienvenue_out" messagetype="pbns:dosendsmsresponse"/> <variable name="dosendsms_bienvenue_in" messagetype="pbns:dosendsmsrequest"/> <variable name="msg_bienvenue" type="xsd:string"/> <variable name="dosendmail_bienvenue_out" messagetype="ns8:dosendmailresponse"/> <variable name="dosendmail_bienvenue_in" messagetype="ns8:dosendmailrequest"/> <variable name="dosendmail_wifi_out" messagetype="ns8:dosendmailresponse"/> <variable name="dosendmail_wifi_in" messagetype="ns8:dosendmailrequest"/> <variable name="dosendmail_ftp_out" messagetype="ns8:dosendmailresponse"/> <variable name="dosendmail_ftp_in" messagetype="ns8:dosendmailrequest"/> <variable name="msg_param_wifi" type="xsd:string"/> <variable name="msg_param_ftp" type="xsd:string"/> <variable name="msg_param_mail" type="xsd:string"/> <variable name="dosendmail_mail_out" messagetype="ns8:dosendmailresponse"/> <variable name="dosendmail_mail_in" messagetype="ns8:dosendmailrequest"/> <variable name="docreat useraccount2out" messagetype="ns8:docreat useraccount2response"/> <variable name="docreat useraccount2in" messagetype="ns8:docreat useraccount2request"/> ISET Djerba TriTux PAGE 89

91 <variable name="dosendsmsout_wifi" messagetype="pbns:dosendsmsresponse"/> <variable name="dosendsmsin_wifi" messagetype="pbns:dosendsmsrequest"/> <variable name="dosendsmsout_mail" messagetype="pbns:dosendsmsresponse"/> <variable name="dosendsmsin_mail" messagetype="pbns:dosendsmsrequest"/> <variable name="dosendsmsout_ftp" messagetype="pbns:dosendsmsresponse"/> <variable name="dosendsmsin_ftp" messagetype="pbns:dosendsmsrequest"/> <variable name="getaccuseout" messagetype="pbns:getaccuseresponse"/> <variable name="getaccusein" messagetype="pbns:getaccuserequest"/> <variable name="updatestudentbyidout" messagetype="pbns:updatestudentbyidresponse"/> <variable name="updatestudentbyidin" messagetype="pbns:updatestudentbyidrequest"/> <variable name="setftpuserwelcomemsgout" messagetype="pbns:setftpuserwelcomemsgresponse"/> <variable name="setftpuserwelcomemsgin" messagetype="pbns:setftpuserwelcomemsgrequest"/> <variable name="doftpsendfileout1" messagetype="pbns:doftpsendfileresponse"/> <variable name="doftpsendfilein1" messagetype="pbns:doftpsendfilerequest"/> <variable name="doforwardmacaddrout" messagetype="pbns:doforwardmacaddrresponse"/> <variable name="doforwardmacaddrin" messagetype="pbns:doforwardmacaddrrequest"/> <variable name="setftpuseraccountexpirydateout" messagetype="pbns:setftpuseraccountexpirydateresponse"/> <variable name="setftpuseraccountexpirydatein" messagetype="pbns:setftpuseraccountexpirydaterequest"/> <variable name="doftpsendfileout" messagetype="pbns:doftpsendfileresponse"/> <variable name="doftpsendfilein" messagetype="pbns:doftpsendfilerequest"/> <variable name="processrubyidoperationout1" xmlns:tns=" messagetype="tns:processrubyidoperationresponse"/> <variable name="docreateftpuseraccountout" messagetype="pbns:docreateftpuseraccountresponse"/> <variable name="docreateftpuseraccountin" messagetype="pbns:docreateftpuseraccountrequest"/> <variable name="getstudentbyidout" messagetype="pbns:getstudentbyidresponse"/> <variable name="getstudentbyidin" messagetype="pbns:getstudentbyidrequest"/> <variable name="doprintwebpageout" xmlns:pbns="urn:pbns" messagetype="pbns:doprintwebpageresponse"/> ISET Djerba TriTux PAGE 90

92 <variable name="doprintwebpagein" xmlns:pbns="urn:pbns" messagetype="pbns:doprintwebpagerequest"/> <variable name="processrubyidoperationout" xmlns:tns=" messagetype="tns:processrubyidoperationresponse"/> <variable name="processrubyidoperationin" xmlns:tns=" messagetype="tns:processrubyidoperationrequest"/> <variable name="sync" type="xsd:boolean"/> <variable name="key" type="xsd:string"/> <variable name="key_ " type="xsd:string"/> <variable name="ftp_created" type="xsd:boolean"/> <variable name="mac_frwd" type="xsd:boolean"/> <variable name="mail_sender" type="xsd:string"/> </variables> <sequence name="main_seq"> <receive name="receive" createinstance="yes" partnerlink="processrubyidpl" operation="processrubyidoperation" xmlns:tns=" porttype="tns:processrubyidporttype" variable="processrubyidoperationin"/> <assign name="initialisation"> </assign> <from>true()</from> <to variable="sync"/> <from>' b45c730'</from> <to variable="key"/> <from>false()</from> <to variable="ftp_created"/> <to variable="mail_sender"/> <from>' f54b5'</from> <to variable="key_ "/> <from>false()</from> <to variable="mac_frwd"/> ISET Djerba TriTux PAGE 91

93 part="identifiant"/> <sequence name="sequence1"> <sequence name="sequence6"> <flow name="flow22"> <sequence name="flowsequence11"> <assign name="get_etudiant"> </assign> <from variable="key"/> <to>$getstudentbyidin.body/ns1:key</to> <from variable="sync"/> <to>$getstudentbyidin.body/ns1:sync</to> <from variable="processrubyidoperationin" <to>$getstudentbyidin.body/ns1:id</to> <invoke name="get_etudiant" partnerlink="pbserviceslocalpl" operation="getstudentbyid" porttype="pbns:podbridgeporttype" inputvariable="getstudentbyidin" outputvariable="getstudentbyidout"/> part="identifiant"/> </sequence> <sequence name="flowsequence22"> <assign name="gataccuse"> </assign> <from variable="key"/> <to>$getaccusein.body/ns0:key</to> <from variable="sync"/> <to>$getaccusein.body/ns0:sync</to> <from variable="processrubyidoperationin" <to>$getaccusein.body/ns0:studentident</to> <from>'2009/2010'</from> <to>$getaccusein.body/ns0:au</to> <invoke name="getaccuse" partnerlink="pbserviceslocalpl" operation="getaccuse" ISET Djerba TriTux PAGE 92

94 porttype="pbns:podbridgeporttype" inputvariable="getaccusein" outputvariable="getaccuseout"/> </flow> </sequence> <if name="if_pai_check" xmlns:tns=" <condition>0 = $GetAccuseOut.body/ns0:status/pbns:code</condition> <sequence name="sequence7"> <assign name="acc_updatedb"> <from variable="key"/> <to>$updatestudentbyidin.body/ns1:key</to> <from variable="sync"/> <to>$updatestudentbyidin.body/ns1:sync</to> <from>$getaccuseout.body/ns0:response/ns0:refaccuse</from> <to>$updatestudentbyidin.body/ns1:refrecu</to> </assign> <assign name="imprimer"> <from variable="key"/> <to>$doprintwebpagein.body/ns6:key</to> <from variable="sync"/> <to>$doprintwebpagein.body/ns6:sync</to> <from>$getaccuseout.body/ns0:response/ns0:urlaccuse</from> <to>$doprintwebpagein.body/ns6:url</to> <from>concat('accuse-', $processrubyidoperationin.identifiant)</from> </assign> <to>$doprintwebpagein.body/ns6:jobname</to> ISET Djerba TriTux PAGE 93

95 <invoke name="imprimer" partnerlink="pbserviceslocalpl" operation="doprintwebpage" porttype="pbns:podbridgeporttype" inputvariable="doprintwebpagein" outputvariable="doprintwebpageout"/> <sequence name="compte_ "> <if name="if_ "> <condition>'' = $GetStudentByIdOut.body/ns1:response/ns1: </condition> <sequence name="sequence3"> <assign name="create_ 2"> <from>$getstudentbyidout.body/ns1:response/ns1:nom</from> <to>$docreat useraccount2in.body/ns4:lstname</to> <from>$getstudentbyidout.body/ns1:response/ns1:prenom</from> <to>$docreat useraccount2in.body/ns4:fstname</to> variable="key_ "/> <from <to>$docreat useraccount2in.body/ns4:key</to> <from>false()</from> <to>$docreat useraccount2in.body/ns4:genpswd</to> variable="processrubyidoperationin" part="identifiant"/> <from <to>$docreat useraccount2in.body/ns4:password </to> <from variable="sync"/> <to>$docreat useraccount2in.body/ns4:sync</to> </assign> <invoke name="create_ 2" partnerlink="pbservicesrnupl" operation="docreat useraccount2" ISET Djerba TriTux PAGE 94

96 porttype="ns8:podbridgeporttype" inputvariable="docreat useraccount2in" outputvariable="docreat useraccount2out"/> variable="sync"/> <assign name="bd_ "> <from <to>$updatestudentbyidin.body/ns1:sync</to> variable="key"/> <to>$updatestudentbyidin.body/ns1:key</to> <from <from>$docreat useraccount2out.body/ns4:response/ns4: adress</from> <to>$updatestudentbyidin.body/ns1: </to> <from>$docreat useraccount2out.body/ns4:response/ns4: adres s</from> <to>$getstudentbyidout.body/ns1:response/ns1: </to> </assign> <assign name="message_mail"> <from>concat('parametres de votre nouveau compte mail ', '* login: ', $DoCreat UserAccount2Out.body/ns4:response/ns4: Adress, ' * password: ', $DoCreat UserAccount2Out.body/ns4:response/ns4:Password, ' * Port POP: ', $DoCreat UserAccount2Out.body/ns4:response/ns4:POP3Port, $DoCreat UserAccount2Out.body/ns4:response/ns4:SMTPPort, " * Port SMTP: '", ' * Consulter vos mails sur $DoCreat UserAccount2Out.body/ns4:response/ns4:WebMailUrl)</from> variable="msg_param_mail"/> name="sendmailmail"> variable="key_ "/> <to </assign> <flow name="mail_notifier"> <sequence name="mail_mail_seq"> <assign <from ISET Djerba TriTux PAGE 95

97 <to>$dosendmail_mail_in.body/ns4:key</to> variable="sync"/> <from <to>$dosendmail_mail_in.body/ns4:sync</to> variable="mail_sender"/> <from <to>$dosendmail_mail_in.body/ns4:from</to> <from>$docreat useraccount2out.body/ns4:response/ns4: adress</from> <to>$dosendmail_mail_in.body/ns4:to</to> <from>'parametres de votre nouveau compte mail '</from> <to>$dosendmail_mail_in.body/ns4:subject</to> variable="msg_param_mail"/> <from <to>$dosendmail_mail_in.body/ns4:message</to> </assign> <invoke name="sendmailmail" partnerlink="pbservicesrnupl" operation="dosendmail" porttype="ns8:podbridgeporttype" inputvariable="dosendmail_mail_in" outputvariable="dosendmail_mail_out"/> name="mail_sms_seq"> name="ifhastel_mail"> </sequence> <sequence <if <condition>$getstudentbyidout.body/ns1:response/ns1:tel!= '' </condition> name="sequence14"> <sequence ISET Djerba TriTux PAGE 96

98 name="smsmail"> <assign <from variable="key"/> <to>$dosendsmsin_mail.body/ns7:key</to> <from variable="sync"/> <to>$dosendsmsin_mail.body/ns7:sync</to> <from>$getstudentbyidout.body/ns1:response/ns1:tel</from> <to>$dosendsmsin_mail.body/ns7:destinataire</to> <from variable="msg_param_mail"/> <to>$dosendsmsin_mail.body/ns7:message</to> </assign> <invoke name="smsmail" partnerlink="pbserviceslocalpl" operation="dosendsms" porttype="pbns:podbridgeporttype" inputvariable="dosendsmsin_mail" outputvariable="dosendsmsout_mail"/> </if> </sequence> <flow name="flow1"> </flow> </sequence> <sequence name="compte_ftp"> </if> </sequence> </sequence> ISET Djerba TriTux PAGE 97

99 <if name="if_ti"> <condition>$getstudentbyidout.body/ns1:response/ns1:dep = 'TI'</condition> <sequence name="sequence2"> <if name="if_existe_ftp"> <condition>$getstudentbyidout.body/ns1:response/ns1:loginftp = ''</condition> <sequence name="sequence10"> <assign name="create_ftp"> <from variable="key"/> <to>$docreateftpuseraccountin.body/ns3:key</to> <from variable="sync"/> <to>$docreateftpuseraccountin.body/ns3:sync</to> <from>'31/12/2019'</from> <to>$docreateftpuseraccountin.body/ns3:expiry_date</to> <from>concat('etu_', $processrubyidoperationin.identifiant)</from> <to>$docreateftpuseraccountin.body/ns3:user</to> <from>false()</from> <to>$docreateftpuseraccountin.body/ns3:use_welcome</to> </assign> <invoke name="create_ftp" partnerlink="pbserviceslocalpl" operation="docreateftpuseraccount" porttype="pbns:podbridgeporttype" inputvariable="docreateftpuseraccountin" outputvariable="docreateftpuseraccountout"/> <assign name="bd_loginftp"> <from>$docreateftpuseraccountout.body/ns3:response/ns3:userlogin </from> <to>$updatestudentbyidin.body/ns1:loginftp</to> ISET Djerba TriTux PAGE 98

100 <from>$docreateftpuseraccountout.body/ns3:response/ns3:userlogin </from> <to>$getstudentbyidout.body/ns1:response/ns1:loginftp</to> <from>true()</from> <to variable="ftp_created"/> </assign> <assign name="ftp_msg_bienvenu"> <from variable="key"/> <to>$setftpuserwelcomemsgin.body/ns3:key</to> variable="sync"/> <from <to>$setftpuserwelcomemsgin.body/ns3:sync</to> <from>concat(sxxf:current-datetime(), 'Bienvenu ', $GetStudentByIdOut.body/ns1:response/ns1:nom, ' ', $GetStudentByIdOut.body/ns1:response/ns1:prenom, ', AVERTISSEMENT: VOUS ETES LE SEUL RESPONSABLE DU CONTENU DE VOTRE COMPTE OU COMPTE DE PLUS VOUS ETES LIMITE A SON USAGE UNIQUEMENT POUR VOS BESOINS EDUCATIFS!')</from> <to>$setftpuserwelcomemsgin.body/ns3:message</to> <from>$getstudentbyidout.body/ns1:response/ns1:loginftp </from> <to>$setftpuserwelcomemsgin.body/ns3:user</to> </assign> <invoke name="ftp_msg_bienvenu" partnerlink="pbserviceslocalpl" operation="setftpuserwelcomemsg" porttype="pbns:podbridgeporttype" inputvariable="setftpuserwelcomemsgin" outputvariable="setftpuserwelcomemsgout"/> ISET Djerba TriTux PAGE 99

101 <assign name="message_ftp"> <from>concat('parametres de votre nouveau compte FTP ', ' * Login : ', $DoCreateFTPUserAccountOut.body/ns3:response/ns3:UserLogin, ' * Password : ', $DoCreateFTPUserAccountOut.body/ns3:response/ns3:Password, ' * FTP Port : ', $DoCreateFTPUserAccountOut.body/ns3:response/ns3:FTPPort, ' * Address : ', $DoCreateFTPUserAccountOut.body/ns3:response/ns3:ServerDomain)</from> variable="msg_param_ftp"/> name="mail_ftp_seq"> name="sendmailftp"> variable="sync"/> <to </assign> <flow name="ftp_notifier"> <sequence <assign <from <to>$dosendmail_ftp_in.body/ns4:sync</to> variable="mail_sender"/> <from <to>$dosendmail_ftp_in.body/ns4:from</to> <from>$getstudentbyidout.body/ns1:response/ns1: </from> <to>$dosendmail_ftp_in.body/ns4:to</to> <from>'parametres de votre nouveau compte FTP'</from> <to>$dosendmail_ftp_in.body/ns4:subject</to> variable="msg_param_ftp"/> <from <to>$dosendmail_ftp_in.body/ns4:message</to> ISET Djerba TriTux PAGE 100

102 variable="key_ "/> <from <to>$dosendmail_ftp_in.body/ns4:key</to> </assign> <invoke name="sendmailftp" partnerlink="pbservicesrnupl" operation="dosendmail" porttype="ns8:podbridgeporttype" inputvariable="dosendmail_ftp_in" outputvariable="dosendmail_ftp_out"/> name="ftp_sms_seq"> name="ifhastel_ftp"> </sequence> <sequence <if <condition>$getstudentbyidout.body/ns1:response/ns1:tel!= '' </condition> <sequence name="sequence16"> <assign name="smsftp"> <from variable="key"/> <to>$dosendsmsin_ftp.body/ns7:key</to> <from variable="sync"/> <to>$dosendsmsin_ftp.body/ns7:sync</to> <from variable="msg_param_ftp"/> <to>$dosendsmsin_ftp.body/ns7:message</to> <from>$getstudentbyidout.body/ns1:response/ns1:tel</from> ISET Djerba TriTux PAGE 101

103 <to>$dosendsmsin_ftp.body/ns7:destinataire</to> name="smsftp" partnerlink="pbserviceslocalpl" operation="dosendsms" porttype="pbns:podbridgeporttype" inputvariable="dosendsmsin_ftp" outputvariable="dosendsmsout_ftp"/> name="etendre_date_expiration"> variable="key"/> </flow> </sequence> <else> </if> </sequence> </assign> <invoke </sequence> <sequence name="sequence11"> <assign <from <to>$setftpuseraccountexpirydatein.body/ns3:key</to> variable="sync"/> <from <to>$setftpuseraccountexpirydatein.body/ns3:sync</to> <from>'31/12/2020'</from> <to>$setftpuseraccountexpirydatein.body/ns3:expiry_date </to> <from>$getstudentbyidout.body/ns1:response/ns1:loginftp </from> <to>$setftpuseraccountexpirydatein.body/ns3:user</to> </assign> <invoke name="etendre_date_expiration" partnerlink="pbserviceslocalpl" operation="setftpuseraccountexpirydate" porttype="pbns:podbridgeporttype" inputvariable="setftpuseraccountexpirydatein" outputvariable="setftpuseraccountexpirydateout"/> ISET Djerba TriTux PAGE 102

104 </sequence> </else> </if> <flow name="flow3"> <sequence name="cours"> <assign name="envoyer_cours"> <from variable="key"/> <to>$doftpsendfilein1.body/ns3:key</to> <from variable="sync"/> <to>$doftpsendfilein1.body/ns3:sync</to> $GetStudentByIdOut.body/ns1:response/ns1:spec, $GetStudentByIdOut.body/ns1:response/ns1:niveau)</from> <from>concat('cours_', <to>$doftpsendfilein1.body/ns3:file</to> <from>$getstudentbyidout.body/ns1:response/ns1:loginftp </from> <to>$doftpsendfilein1.body/ns3:user</to> </assign> <invoke name="envoyer_cours" partnerlink="pbserviceslocalpl" operation="doftpsendfile" porttype="pbns:podbridgeporttype" inputvariable="doftpsendfilein1" outputvariable="doftpsendfileout1"/> </sequence> <if name="if_niv2_ou_plus"> <condition>$getstudentbyidout.body/ns1:response/ns1:niveau > 2</condition> <sequence name="sequence9"> <assign name="envoyer_cours_uml"> <from variable="key"/> <to>$doftpsendfilein.body/ns3:key</to> ISET Djerba TriTux PAGE 103

105 variable="sync"/> <from <to>$doftpsendfilein.body/ns3:sync</to> UML.pdf'</from> <from>'cours- <to>$doftpsendfilein.body/ns3:file</to> <from>$getstudentbyidout.body/ns1:response/ns1:loginftp </from> <to>$doftpsendfilein.body/ns3:user</to> </assign> <invoke name="envoyer_cours_uml" partnerlink="pbserviceslocalpl" operation="doftpsendfile" porttype="pbns:podbridgeporttype" inputvariable="doftpsendfilein" outputvariable="doftpsendfileout"/> </if> </sequence> </if> </flow> </sequence> </sequence> <sequence name="filtrage_mac"> <if name="if_adrmac"> <condition>$getstudentbyidout.body/ns1:response/ns1:adrmac!= '' </condition> <sequence name="sequence13"> <assign name="autorise_mac"> <from variable="key"/> <to>$doforwardmacaddrin.body/ns5:key</to> <from variable="sync"/> <to>$doforwardmacaddrin.body/ns5:sync</to> ISET Djerba TriTux PAGE 104

106 <from>$getstudentbyidout.body/ns1:response/ns1:adrmac</from> <to>$doforwardmacaddrin.body/ns5:macaddr</to> </assign> <invoke name="autorise_mac" partnerlink="pbserviceslocalpl" operation="doforwardmacaddr" porttype="pbns:podbridgeporttype" inputvariable="doforwardmacaddrin" outputvariable="doforwardmacaddrout"/> <assign name="settrue"> </assign> <from>true()</from> <to variable="mac_frwd"/> <assign name="message_wifi"> <from>concat("dès maintenant Vous etes autorisé à se connecter au réseau sans fil d'iset Jerba ", ' * SSID : ', $DoForwardMACaddrOut.body/ns5:response/ns5:ssid, ' * Clé : ', $DoForwardMACaddrOut.body/ns5:response/ns5:auth_key)</from> name="sendmailwifi"> variable="sync"/> </assign> <to variable="msg_param_wifi"/> <flow name="wifi_notifier"> <sequence name="mail_wifi_seq"> <assign <from <to>$dosendmail_wifi_in.body/ns4:sync</to> variable="mail_sender"/> <from <to>$dosendmail_wifi_in.body/ns4:from</to> variable="msg_param_wifi"/> <from <to>$dosendmail_wifi_in.body/ns4:message</to> ISET Djerba TriTux PAGE 105

107 <from>$getstudentbyidout.body/ns1:response/ns1: </from> <to>$dosendmail_wifi_in.body/ns4:to</to> <from>"vous etes autoriser à se connecté au réseau sans Fil d'iset Jerba"</from> <to>$dosendmail_wifi_in.body/ns4:subject</to> variable="key_ "/> <from <to>$dosendmail_wifi_in.body/ns4:key</to> </assign> <invoke name="sendmailwifi" partnerlink="pbservicesrnupl" operation="dosendmail" porttype="ns8:podbridgeporttype" inputvariable="dosendmail_wifi_in" outputvariable="dosendmail_wifi_out"/> </sequence> <sequence name="wifi_sms_seq"> <if name="ifhastel_wifi"> <condition>$getstudentbyidout.body/ns1:response/ns1:tel!= ''</condition> <sequence name="sequence15"> <assign name="smswifi"> <from variable="key"/> <to>$dosendsmsin_wifi.body/ns7:key</to> variable="sync"/> <from <to>$dosendsmsin_wifi.body/ns7:sync</to> ISET Djerba TriTux PAGE 106

108 <from>$getstudentbyidout.body/ns1:response/ns1:tel</from> <to>$dosendsmsin_wifi.body/ns7:destinataire</to> variable="msg_param_wifi"/> <from <to>$dosendsmsin_wifi.body/ns7:message</to> </assign> <invoke name="smswifi" partnerlink="pbserviceslocalpl" operation="dosendsms" porttype="pbns:podbridgeporttype" inputvariable="dosendsmsin_wifi" outputvariable="dosendsmsout_wifi"/> </flow> </if> </sequence> </flow> </sequence> </if> </sequence> <assign name="message_bienvenue"> </sequence> <from>concat('bienvenu ', $GetStudentByIdOut.body/ns1:response/ns1:nom, ' ', $GetStudentByIdOut.body/ns1:response/ns1:prenom, ' ISET Djerba vous souhaite une bonne rentrée universiaire 2009/2010.')</from> </assign> <to variable="msg_bienvenue"/> <flow name="flow23"> <sequence name="flowsequence"> <assign name="sendmailbienvenue"> <from variable="sync"/> <to>$dosendmail_bienvenue_in.body/ns4:sync</to> <from>$getstudentbyidout.body/ns1:response/ns1: </from> <to>$dosendmail_bienvenue_in.body/ns4:to</to> ISET Djerba TriTux PAGE 107

109 <from variable="mail_sender"/> <to>$dosendmail_bienvenue_in.body/ns4:from</to> <from variable="msg_bienvenue"/> <to>$dosendmail_bienvenue_in.body/ns4:message</to> <from>'bienvenue'</from> <to>$dosendmail_bienvenue_in.body/ns4:subject</to> <from variable="key_ "/> <to>$dosendmail_bienvenue_in.body/ns4:key</to> </assign> <invoke name="sendmailbienvenue" partnerlink="pbservicesrnupl" operation="dosendmail" porttype="ns8:podbridgeporttype" inputvariable="dosendmail_bienvenue_in" outputvariable="dosendmail_bienvenue_out"/> </sequence> <sequence name="flowsequence1"> <assign name="smsbienvenue"> <from variable="key"/> <to>$dosendsms_bienvenue_in.body/ns7:key</to> <from variable="sync"/> <to>$dosendsms_bienvenue_in.body/ns7:sync</to> <from>$getstudentbyidout.body/ns1:response/ns1:tel</from> <to>$dosendsms_bienvenue_in.body/ns7:destinataire</to> <from variable="msg_bienvenue"/> ISET Djerba TriTux PAGE 108

110 <to>$dosendsms_bienvenue_in.body/ns7:message</to> </assign> <invoke name="smsbienvenue" partnerlink="pbserviceslocalpl" operation="dosendsms" porttype="pbns:podbridgeporttype" inputvariable="dosendsms_bienvenue_in" outputvariable="dosendsms_bienvenue_out"/> part="statut"/> part="statut"/> </flow> </sequence> <assign name="reply_bdetu_ok"> </assign> </sequence> <else> <sequence> <from>'ok'</from> <to variable="processrubyidoperationout" <from>'ok'</from> <to>$updatestudentbyidin.body/ns1:process</to> <assign name="reply_bdetu_pai"> <from>'pai'</from> <to variable="processrubyidoperationout" <from>'pai'</from> <to>$updatestudentbyidin.body/ns1:process</to> </assign> </sequence> </else> </if> </sequence> </sequence> <assign name="mettre_a_jour_bdetu"> <from variable="key"/> <to>$updatestudentbyidin.body/ns1:key</to> ISET Djerba TriTux PAGE 109

111 </assign> <from variable="sync"/> <to>$updatestudentbyidin.body/ns1:sync</to> <from variable="processrubyidoperationin" part="identifiant"/> <to>$updatestudentbyidin.body/ns1:id</to> <invoke name="mettre_a_jour_bdetu" partnerlink="pbserviceslocalpl" operation="updatestudentbyid" xmlns:pbns="urn:pbns" porttype="pbns:podbridgeporttype" inputvariable="updatestudentbyidin" outputvariable="updatestudentbyidout"/> <reply name="reply" partnerlink="processrubyidpl" operation="processrubyidoperation" xmlns:tns=" porttype="tns:processrubyidporttype" variable="processrubyidoperationout"/> </sequence> </process> Fichier Source : BatchProcessRU.bpel <?xml version="1.0" encoding="utf-8"?> <process name="batchprocessru" targetnamespace=" " xmlns=" xmlns:xsd=" xmlns:sxt=" xmlns:sxed=" xmlns:sxat=" nt" xmlns:sxeh=" dling" xmlns:tns=" xmlns:sxed2=" " xmlns:ns0=" xmlns:sxxf=" ISET Djerba TriTux PAGE 110

112 ctions" xmlns:ns1="urn:bdetuns" xmlns:ns2="urn:pbns" xmlns:ns3="urn:tns" xmlns:ns4="urn:mailacntns" xmlns:ns5="urn:smsservicens"> <import namespace=" location="batchprocessru.wsdl" importtype=" <import namespace=" location="getnextidwrapper.wsdl" importtype=" <import namespace="urn:pbns" location="getnextid.wsdl" importtype=" <import namespace=" location="dosendmailwrapper.wsdl" importtype=" <import namespace="urn:tns" location="dosendmail.wsdl" importtype=" <import namespace=" location="dosendsmswrapper.wsdl" importtype=" <import namespace="urn:pbns" location="dosendsms.wsdl" importtype=" <import namespace=" location=" importtype=" <partnerlinks> <partnerlink name="batchprocessrupl" xmlns:tns=" partnerlinktype="tns:batchprocessru" myrole="batchprocessruporttyperole"/> <partnerlink name="getnextidpl" xmlns:tns=" partnerlinktype="tns:podbridgegetnextidlinktype" partnerrole="podbridgegetnextidrole"/> <partnerlink name="dosendmailpl" xmlns:tns=" partnerlinktype="tns:podbridgedosendmaillinktype" partnerrole="podbridgedosendmailrole"/> <partnerlink name="dosendsmspl" xmlns:tns=" partnerlinktype="tns:podbridgedosendsmslinktype" partnerrole="podbridgedosendsmsrole"/> <partnerlink name="processbyidpl" xmlns:tns=" ById" partnerlinktype="tns:processrubyid" partnerrole="processrubyidporttyperole"/> </partnerlinks> <variables> <variable name="msg" type="xsd:string"/> <variable name="dosendsmsout" messagetype="ns2:dosendsmsresponse"/> <variable name="dosendsmsin" messagetype="ns2:dosendsmsrequest"/> <variable name="dosendmailout" messagetype="ns3:dosendmailresponse"/> <variable name="dosendmailin" messagetype="ns3:dosendmailrequest"/> <variable name="key_rnu" type="xsd:string"/> <variable name="key_local" type="xsd:string"/> ISET Djerba TriTux PAGE 111

113 <variable name="getnextidout" xmlns:pbns="urn:pbns" messagetype="pbns:getnextidresponse"/> <variable name="getnextidin" xmlns:pbns="urn:pbns" messagetype="pbns:getnextidrequest"/> <variable name="batchprocessruoperationout" xmlns:tns=" messagetype="tns:batchprocessruoperationresponse"/> <variable name="batchprocessruoperationin" xmlns:tns=" messagetype="tns:batchprocessruoperationrequest"/> <variable name="processrubyidoperationout" xmlns:tns=" messagetype="tns:processrubyidoperationresponse"/> <variable name="processrubyidoperationin" xmlns:tns=" messagetype="tns:processrubyidoperationrequest"/> </variables> <sequence> <receive name="receive" createinstance="yes" partnerlink="batchprocessrupl" operation="batchprocessruoperation" xmlns:tns=" porttype="tns:batchprocessruporttype" variable="batchprocessruoperationin"/> <assign name="init"> </assign> <from>' f54b5'</from> <to variable="key_rnu"/> <from>' f54b5'</from> <to variable="key_local"/> <from>sxxf:current-datetime()</from> <to>$batchprocessruoperationout.part1/ns0:date/ns0:start</to> <assign name="getnextid_init"> <from variable="key_local"/> <to>$getnextidin.body/ns1:key</to> <from>true()</from> <to>$getnextidin.body/ns1:sync</to> <from>$batchprocessruoperationin.part1/ns0:filter</from> ISET Djerba TriTux PAGE 112

114 </assign> <to>$getnextidin.body/ns1:filter</to> <repeatuntil name="repeatuntil_lastid"> <sequence name="sequence1"> <invoke name="getnextid" partnerlink="getnextidpl" operation="getnextid" xmlns:pbns="urn:pbns" porttype="pbns:podbridgegetnextidporttype" inputvariable="getnextidin" outputvariable="getnextidout"/> 0</condition> <if name="ifexist"> <condition>$getnextidout.body/ns1:status/ns2:code = <sequence name="sequence2"> <assign name="getnextid"> <from>$getnextidout.body/ns1:response/ns1:nextid</from> <to>$getnextidin.body/ns1:id</to> <from variable="key_local"/> <to>$getnextidin.body/ns1:key</to> <from>true()</from> <to>$getnextidin.body/ns1:sync</to> <from>$batchprocessruoperationin.part1/ns0:filter </from> <to>$getnextidin.body/ns1:filter</to> </assign> <assign name="processrubyid"> <from>$getnextidout.body/ns1:response/ns1:nextid</from> part="identifiant"/> </assign> <to variable="processrubyidoperationin" <invoke name="processrubyid" partnerlink="processbyidpl" operation="processrubyidoperation" xmlns:tns=" porttype="tns:processrubyidporttype" inputvariable="processrubyidoperationin" outputvariable="processrubyidoperationout"/> </sequence> ISET Djerba TriTux PAGE 113

115 </if> </sequence> <condition>$getnextidout.body/ns1:response/ns1:last = true() or $GetNextIdOut.body/ns1:status/ns2:code!= 0 </condition> </repeatuntil> <assign name="message"> <from>concat('exécution de ProcessRUById est Terminée avec succès!', '* Démarré : ', $BatchProcessRUOperationOut.part1/ns0:date/ns0:start, ' * Fin : ', sxxf:current-datetime())</from> </assign> <to variable="msg"/> <flow name="notify_admin"> <sequence name="flowsequence"> <assign name="mail"> </assign> <from variable="key_rnu"/> <to>$dosendmailin.body/ns4:key</to> <from>true()</from> <to>$dosendmailin.body/ns4:sync</to> <from>'[email protected]'</from> <to>$dosendmailin.body/ns4:from</to> <from>'[email protected]'</from> <to>$dosendmailin.body/ns4:to</to> <from>'exéction de BatchProcessRU terminée!'</from> <to>$dosendmailin.body/ns4:subject</to> <from variable="msg"/> <to>$dosendmailin.body/ns4:message</to> <invoke name="mail" partnerlink="dosendmailpl" operation="dosendmail" porttype="ns3:podbridgedosendmailporttype" inputvariable="dosendmailin" outputvariable="dosendmailout"/> </sequence> ISET Djerba TriTux PAGE 114

116 <sequence name="flowsequence1"> <assign name="sms"> </assign> <from variable="key_local"/> <to>$dosendsmsin.body/ns5:key</to> <from>true()</from> <to>$dosendsmsin.body/ns5:sync</to> <from>' '</from> <to>$dosendsmsin.body/ns5:destinataire</to> <from variable="msg"/> <to>$dosendsmsin.body/ns5:message</to> <invoke name="sms" partnerlink="dosendsmspl" operation="dosendsms" porttype="ns2:podbridgedosendsmsporttype" inputvariable="dosendsmsin" outputvariable="dosendsmsout"/> </flow> </sequence> <assign name="reply"> </assign> <from>'success'</from> <to>$batchprocessruoperationout.part1/ns0:message</to> <from>0</from> <to>$batchprocessruoperationout.part1/ns0:statecode </to> <from>sxxf:current-datetime()</from> <to>$batchprocessruoperationout.part1/ns0:date/ns0:end</to> <reply name="reply" partnerlink="batchprocessrupl" operation="batchprocessruoperation" xmlns:tns=" porttype="tns:batchprocessruporttype" variable="batchprocessruoperationout"/> </sequence> </process> ISET Djerba TriTux PAGE 115

117 2.6. Code source de l application PHP (formulaire info etudiant) 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 <html> 3 <head> 4 <link rel="stylesheet" type="text/css" href="main.css" /> 5 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 6 <title>:: Remplir ce formulaire ::</title> 7 </head> 8 <body> 9 <center> 10 <?php 11 // init client 12 $client = new SoapClient(" hp/wsdl/all"); 13 $key=" f54b5"; if (isset ($_POST['submit']) && $_POST['id']!=null ) { try { //Arguements 20 $arguments=array( 21 'key'=>$key, 22 'sync'=>'1', 23 'notify'=>'', 24 'abort'=>'', 25 'id'=>$_post['id'] 26 ) ; $getstudentbyid_out = $client- >getstudentbyid($arguments); if ($getstudentbyid_out->status->code=='0') 31 $connected=true; if ($_POST['tel']!=null $_POST['mail']!=null $_POST['mac']!=null ) { //Arguements 36 $arguments=array( 37 'key'=>$key, ISET Djerba TriTux PAGE 116

118 38 'sync'=>'1', 39 'notify'=>'', 40 'abort'=>'', 41 'id'=>$_post['id'], 42 'tel'=>$_post['tel'], 43 ' '=>$_post['mail'], 44 'loginftp'=>'', 45 'adrmac'=>$_post['mac'], 46 'refrecu'=>'', 47 'process'=>'' 48 ) ; $updatestudentbyid_out = $client- >updatestudentbyid($arguments); if ($updatestudentbyid_out->status->code=='0') { 53 $updated=true; 54 }else { 55 if ($updatestudentbyid_out->status->code=='2') 56?><h3><?php echo ($updatestudentbyid_out- >status->msg);?></h3><?php 57 } } } 63 catch (SoapFault $e) { 64 print $e->getmessage(); 65 } 66 } 67 68?> 69 <form id="formulaire" method="post" > 70 <h2> 71 <?php if ( $connected ) {?>Bienvenu <?php echo $getstudentbyid_out->response->nom.' '.$getstudentbyid_out->response->prenom.'!' ; 72 }?> 73 </h2> 74 <h1> 75 <?php if (! $connected) {?>Authentification<?php } else {?>Remplir le formulaire<?php }?> 76 </h1> 77 <table> ISET Djerba TriTux PAGE 117

119 78 <tr align="right"><td>votre identifiant:</td><td align="left" > 79 <input name="id" maxlength="8" value="<?php echo $_POST['id'];?>"> </td></tr> 82 <tr align="right"><td id="exemple" colspan="2">identifiant 8 chiffres</td></tr> 83 <?php if ( $connected ) {?> 84 <tr align="right"><td>adresse </td><td><input name="mail" maxlength="50" value="<?php if (isset ($_POST['mail'])): echo $_POST['mail']; else: echo $getstudentbyid_out->response-> ; 85 endif;?>"></td></tr> 86 <tr align="right"><td id="exemple" colspan="2">[email protected]</td></tr> 87 <tr align="right"><td>numéro de tél. perso:</td><td><input name="tel" maxlength="8" value="<?php if (isset ($_POST['tel'])): echo $_POST['tel']; else: echo $getstudentbyid_out->response- >tel; 88 endif;?>"></td></tr> 89 <tr align="right"><td id="exemple" colspan="2">8 chiffres</td></tr> 90 <tr align="right"><td>votre adresse MAC:</td><td><input name="mac" maxlength="17" value="<?php if (isset ($_POST['mac'])): echo $_POST['mac']; else: echo $getstudentbyid_out->response->adrmac; 91 endif;?>"></td></tr> 92 <tr align="right"><td id="exemple" colspan="2">format: XX:XX:XX:XX:XX:XX</td></tr> 93 <?php }?> </table> 97 <center> 98 <input id="bouton" name="submit" type="submit" value="ok"/> 99 </center> 100 <br> 101 <div align="left" id="exemple" >Vous serez notifier par mail et SMS, dès que nous traitons votre demande. </div> 102 </form> </center> 105 </body> 106 </html> 107 ISET Djerba TriTux PAGE 118

120 3. CAPTURES D ECRAN ISET Djerba TriTux PAGE 119

121 3.1. SquirrelMail ( CUPS Web administration ( ISET Djerba TriTux PAGE 120

122 3.3. Site web d inscription univ. en ligne - ( SoapUI ISET Djerba TriTux PAGE 121

123 3.5. PodBridge 1.2 (Interfaces d administration) ISET Djerba TriTux PAGE 122

124 ISET Djerba TriTux PAGE 123

125 ISET Djerba TriTux PAGE 124

126 ISET Djerba TriTux PAGE 125

127 ISET Djerba TriTux PAGE 126

128 ISET Djerba TriTux PAGE 127

129 3.6. Projet ProcessRUById (Quelques captures d écrans) ISET Djerba TriTux PAGE 128

130 ISET Djerba TriTux PAGE 129

131 ISET Djerba TriTux PAGE 130

132 ISET Djerba TriTux PAGE 131

133 3.7. Projet BatchProcessRU (Quelques captures d écrans) ISET Djerba TriTux PAGE 132

134 3.8. Application web PHP (formulaire info etudiant) ISET Djerba TriTux PAGE 133

135 ISET Djerba TriTux PAGE 134

136

Setup Local Mail Server Using Postfix, Dovecot And Squirrelmail On CentOS 6.5/6.4

Setup Local Mail Server Using Postfix, Dovecot And Squirrelmail On CentOS 6.5/6.4 Setup Local Mail Server Using Postfix, Dovecot And Squirrelmail On CentOS 6.5/6.4 For this tutorial, I use CentOS 6.5 32 bit minimal installation, with SELinux disabled. My test box details are given below.

More information

Linux Administrator (Advance)

Linux Administrator (Advance) Linux Administrator (Advance) Mr.Kriangsak Namkot Trainer & Director Jodoi IT&Service Co.,Ltd. [email protected] [email protected] http://www.jodoi.com Linux Admin II Day 2 9:00 น. -12.00 น. - Mail Server

More information

The current version installed on your server is 2.6.32-431.5.1.el6.x86_64 and it's the latest available.

The current version installed on your server is 2.6.32-431.5.1.el6.x86_64 and it's the latest available. IP : nnn.nnn.nnn.n 173.255.141.4 Hostname : example.domain.com webserver.theewfinc.org OS : CentOS release 6.6 (Final) The following is a report on the security and performance of your server. It includes

More information

EZcast Installation guide

EZcast Installation guide EZcast Installation guide Document written by > Michel JANSENS > Arnaud WIJNS from ULB PODCAST team http://podcast.ulb.ac.be http://ezcast.ulb.ac.be [email protected] SOMMAIRE SOMMAIRE... 2 1. INSTALLATION

More information

Proxy IMAP/POP/SMTP securisé avec Perdition, Postfix et SASL

Proxy IMAP/POP/SMTP securisé avec Perdition, Postfix et SASL Proxy IMAP/POP/SMTP securisé avec Perdition, Postfix et SASL Installation de perdition : apt-get install perdition openssl Généré 1 clé privé et 1 certificat auto-signé : cd /etc/perdition openssl genrsa

More information

Web Server: Principles and Configuration Web Programming 8) Web Server

Web Server: Principles and Configuration Web Programming 8) Web Server Web Server: Principles and Configuration Web Programming 8) Web Server Emmanuel Benoist Fall Term 2013-14 Introduction Presentation of Apache Principles of a Web Server Apache Installation Apache Configuration

More information

Configure a Mail Server

Configure a Mail Server SECTION 3 Configure a Mail Server In this section of the workbook, you learn how to do the following: Send Mail to root on 3-3 In this exercise, you send an email to user root using the mail command and

More information

Installing Apache Software

Installing Apache Software Web Server Web Server Is a software application that uses the HyperText Transfer Protocol. Running on computer connected to Internet. Many Web Server software applications: Public domain software from

More information

Installing an open source version of MateCat

Installing an open source version of MateCat Installing an open source version of MateCat This guide is meant for users who want to install and administer the open source version on their own machines. Overview 1 Hardware requirements 2 Getting started

More information

Version 1.6. MDweb installation and configuration (scripts databases) Linux Platform. 1.3 Authors: Jean Christophe Desconnets (jcd@teledetection.

Version 1.6. MDweb installation and configuration (scripts databases) Linux Platform. 1.3 Authors: Jean Christophe Desconnets (jcd@teledetection. Version 1.6 MDweb installation and configuration (scripts databases) Linux Platform Version Comments 1 Authors : Jean Christophe Desconnets ([email protected]) Translation : Kim Agrawal ([email protected])

More information

http://www.faustfeuerwaffenclub-bregenz.at/info.php

http://www.faustfeuerwaffenclub-bregenz.at/info.php Seite 1 von 9 PHP Version 5.2.17 System Linux tux379 3.12.0-default #3 SMP Fri Nov 8 15:49:31 CET 2013 x86_64 Build Date May 1 2013 14:35:19 Configure Command Server API Virtual Directory Support Configuration

More information

Lucid Key Server v2 Installation Documentation. www.lucidcentral.org

Lucid Key Server v2 Installation Documentation. www.lucidcentral.org Lucid Key Server v2 Installation Documentation Contents System Requirements...2 Web Server...3 Database Server...3 Java...3 Tomcat...3 Installation files...3 Creating the Database...3 Step 1: Create the

More information

How To Configure Apa Web Server For High Performance

How To Configure Apa Web Server For High Performance DEPLOYMENT GUIDE Version 1.0 Deploying F5 with Apache Web Servers Table of Contents Table of Contents Deploying the BIG-IP LTM with the Apache web server Prerequisites and configuration notes... 1 Product

More information

Facebook Twitter YouTube Google Plus Website Email

Facebook Twitter YouTube Google Plus Website Email PHP MySQL COURSE WITH OOP COURSE COVERS: PHP MySQL OBJECT ORIENTED PROGRAMMING WITH PHP SYLLABUS PHP 1. Writing PHP scripts- Writing PHP scripts, learn about PHP code structure, how to write and execute

More information

Created by : Ashish Shah, J.M. PATEL COLLEGE UNIT-5 CHAP-1 CONFIGURING WEB SERVER

Created by : Ashish Shah, J.M. PATEL COLLEGE UNIT-5 CHAP-1 CONFIGURING WEB SERVER UNIT-5 CHAP-1 CONFIGURING WEB SERVER 1 APACHE SERVER The Apache Web server is the most popular Web server on the planet. Individuals and organizations use Linux primarily to create an inexpensive and stable

More information

Web Site Content Management Server. Installation Guide Version 4.1 Build 0

Web Site Content Management Server. Installation Guide Version 4.1 Build 0 Web Site Content Management Server Installation Guide Version 4.1 Build 0 livesite: Web Site Content Management Server No parts of this work may be reproduced in any form or by any means - graphic, electronic,

More information

Introduction to Linux (Authentication Systems, User Accounts, LDAP and NIS) Süha TUNA Res. Assist.

Introduction to Linux (Authentication Systems, User Accounts, LDAP and NIS) Süha TUNA Res. Assist. Introduction to Linux (Authentication Systems, User Accounts, LDAP and NIS) Süha TUNA Res. Assist. Outline 1. What is authentication? a. General Informations 2. Authentication Systems in Linux a. Local

More information

Web Development using PHP (WD_PHP) Duration 1.5 months

Web Development using PHP (WD_PHP) Duration 1.5 months Duration 1.5 months Our program is a practical knowledge oriented program aimed at learning the techniques of web development using PHP, HTML, CSS & JavaScript. It has some unique features which are as

More information

Presented by Henry Ng

Presented by Henry Ng Log Format Presented by Henry Ng 1 Types of Logs Content information, alerts, warnings, fatal errors Source applications, systems, drivers, libraries Format text, binary 2 Typical information in Logs Date

More information

CTIS486 Midterm Solution 23/07/2012 - Akgül

CTIS486 Midterm Solution 23/07/2012 - Akgül Surname, Name: Section: Student No: Closed Book, closed note exam. Show your work! we must follow your reasoning. You are required to write down commands with necessary arguments and options. Give the

More information

Web development... the server side (of the force)

Web development... the server side (of the force) Web development... the server side (of the force) Fabien POULARD Document under license Creative Commons Attribution Share Alike 2.5 http://www.creativecommons.org/learnmore Web development... the server

More information

How to Install SMTPSwith Mailer on Centos Server/VPS

How to Install SMTPSwith Mailer on Centos Server/VPS How to Install SMTPSwith Mailer on Centos Server/VPS SMTPSwitch Mailer User Guide V4.0 SMTPSwitch Mailer is a web based email marketing software that runs on a web server or online server. An online server

More information

Talk Internet User Guides Controlgate Administrative User Guide

Talk Internet User Guides Controlgate Administrative User Guide Talk Internet User Guides Controlgate Administrative User Guide Contents Contents (This Page) 2 Accessing the Controlgate Interface 3 Adding a new domain 4 Setup Website Hosting 5 Setup FTP Users 6 Setup

More information

MAGENTO Migration Tools

MAGENTO Migration Tools MAGENTO Migration Tools User Guide Copyright 2014 LitExtension.com. All Rights Reserved. Magento Migration Tools: User Guide Page 1 Content 1. Preparation... 3 2. Setup... 5 3. Plugins Setup... 7 4. Migration

More information

Tonido Cloud Admin Guide

Tonido Cloud Admin Guide CODELATHE LLC Tonido Cloud Admin Guide Installing and Managing Tonido Cloud CodeLathe LLC 10/27/2012 (c) CodeLathe LLC 2012. All Rights Reserved Contents 1. Introduction... 3 2. Pre-Requisites... 3 3.

More information

Configuring an Alternative Database for SAS Web Infrastructure Platform Services

Configuring an Alternative Database for SAS Web Infrastructure Platform Services Configuration Guide Configuring an Alternative Database for SAS Web Infrastructure Platform Services By default, SAS Web Infrastructure Platform Services is configured to use SAS Framework Data Server.

More information

Document History Revision 5.0.2 Date: October 30, 2006

Document History Revision 5.0.2 Date: October 30, 2006 vtiger CRM 5.0.2 Installation Manual (For Wiindows OS) Document History Revision 5.0.2 Date: October 30, 2006 - 2 - Table of Contents 1. System Requirements...3 2. How do I choose right distribution?...4

More information

Expresso Quick Install

Expresso Quick Install Expresso Quick Install 1. Considerations 2. Basic requirements to install 3. Install 4. Expresso set up 5. Registering users 6. Expresso first access 7. Uninstall 8. Reinstall 1. Considerations Before

More information

Chapter 22 How to send email and access other web sites

Chapter 22 How to send email and access other web sites Chapter 22 How to send email and access other web sites Murach's PHP and MySQL, C22 2010, Mike Murach & Associates, Inc. Slide 1 Objectives Applied 1. Install and use the PEAR Mail package to send email

More information

Email Migration Manual (For Outlook 2010)

Email Migration Manual (For Outlook 2010) Email Migration Manual (For Outlook 2010) By SYSCOM (USA) May 13, 2013 Version 2.2 1 Contents 1. How to Change POP3/SMTP Setting for Outlook 2010... 3 2. How to Login to Webmail... 10 3. How to Change

More information

ClickCartPro Software Installation README

ClickCartPro Software Installation README ClickCartPro Software Installation README This document outlines installation instructions for ClickCartPro Software. SOFTWARE REQUIREMENTS The following requirements must be met by the webserver on which

More information

VMware vcenter Discovered Machines Import Tool User's Guide Version 5.3.0.25 for vcenter Configuration Manager 5.3

VMware vcenter Discovered Machines Import Tool User's Guide Version 5.3.0.25 for vcenter Configuration Manager 5.3 VMware vcenter Discovered Machines Import Tool User's Guide Version 5.3.0.25 for vcenter Configuration Manager 5.3 This document supports the version of each product listed and supports all subsequent

More information

Written by: Johan Strand, Reviewed by: Chafic Nassif, Date: 2006-04-26. Getting an ipath server running on Linux

Written by: Johan Strand, Reviewed by: Chafic Nassif, Date: 2006-04-26. Getting an ipath server running on Linux Getting an ipath server running on Linux Table of Contents Table of Contents... 2 1.0. Introduction... 3 2.0. Overview... 3 3.0. Installing Linux... 3 4.0. Installing software that ipath requires... 3

More information

1. Building Testing Environment

1. Building Testing Environment The Practice of Web Application Penetration Testing 1. Building Testing Environment Intrusion of websites is illegal in many countries, so you cannot take other s web sites as your testing target. First,

More information

What will be supplied with chemoventory package?

What will be supplied with chemoventory package? Requirements... 1 What will be supplied with chemoventory package?... 1 Files structure of /chemoventory... 2 Download PHP, MySQL and Zend optimizer programs... 3 Apache Installation... 3 Apache installation

More information

Online Vulnerability Scanner Quick Start Guide

Online Vulnerability Scanner Quick Start Guide Online Vulnerability Scanner Quick Start Guide Information in this document is subject to change without notice. Companies, names, and data used in examples herein are fictitious unless otherwise noted.

More information

Linux VPS with cpanel. Getting Started Guide

Linux VPS with cpanel. Getting Started Guide Linux VPS with cpanel Getting Started Guide First Edition October 2010 Table of Contents Introduction...1 cpanel Documentation...1 Accessing your Server...2 cpanel Users...2 WHM Interface...3 cpanel Interface...3

More information

MPP Manager Users Guide

MPP Manager Users Guide MPP Manager Users Guide Spam Quarantine and Email Archive Administration \ August, 2008 MPP Mable of Contents 1 About This Guide 4 1.1 MPP Manager Overview 4 1.2 Other Documentation 4 2 Mppserver MPP Manager

More information

WEB2CS INSTALLATION GUIDE

WEB2CS INSTALLATION GUIDE WEB2CS INSTALLATION GUIDE FOR XANDMAIL XandMail 32, rue de Cambrai 75019 PARIS - FRANCE Tel : +33 (0)1 40 388 700 - http://www.xandmail.com TABLE OF CONTENTS 1. INSTALLING WEB2CS 3 1.1. RETRIEVING THE

More information

Centers for Medicare and Medicaid Services. Connect: Enterprise Secure Client (SFTP) Gentran. Internet Option Manual 2006-2007

Centers for Medicare and Medicaid Services. Connect: Enterprise Secure Client (SFTP) Gentran. Internet Option Manual 2006-2007 Centers for Medicare and Medicaid Services Connect: Enterprise Secure Client (SFTP) Gentran Internet Option Manual 2006-2007 Version 8 The Connect: Enterprise Secure Client (SFTP) Manual is not intended

More information

1. Open the preferences screen by opening the Mail menu and selecting Preferences...

1. Open the preferences screen by opening the Mail menu and selecting Preferences... Using TLS encryption with OS X Mail This guide assumes that you have already created an account in Mail. If you have not, you can use the new account wizard. The new account wizard is in the Accounts window

More information

PHP Integration Kit. Version 2.5.1. User Guide

PHP Integration Kit. Version 2.5.1. User Guide PHP Integration Kit Version 2.5.1 User Guide 2012 Ping Identity Corporation. All rights reserved. PingFederate PHP Integration Kit User Guide Version 2.5.1 December, 2012 Ping Identity Corporation 1001

More information

CSCI110 Exercise 4: Database - MySQL

CSCI110 Exercise 4: Database - MySQL CSCI110 Exercise 4: Database - MySQL The exercise This exercise is to be completed in the laboratory and your completed work is to be shown to the laboratory tutor. The work should be done in week-8 but

More information

Architecture and Data Flow Overview. BlackBerry Enterprise Service 10 721-08877-123 Version: 10.2. Quick Reference

Architecture and Data Flow Overview. BlackBerry Enterprise Service 10 721-08877-123 Version: 10.2. Quick Reference Architecture and Data Flow Overview BlackBerry Enterprise Service 10 721-08877-123 Version: Quick Reference Published: 2013-11-28 SWD-20131128130321045 Contents Key components of BlackBerry Enterprise

More information

versasrs HelpDesk quality of service

versasrs HelpDesk quality of service versacat v2.1.0 Date: 24 June 2010 Copyright 2002-2010 VersaDev Pty. Ltd. All Rights Reserved. *************************************************************** Contents ***************************************************************

More information

Workflow Templates Library

Workflow Templates Library Workflow s Library Table of Contents Intro... 2 Active Directory... 3 Application... 5 Cisco... 7 Database... 8 Excel Automation... 9 Files and Folders... 10 FTP Tasks... 13 Incident Management... 14 Security

More information

AXIGEN Mail Server. Quick Installation and Configuration Guide. Product version: 6.1 Document version: 1.0

AXIGEN Mail Server. Quick Installation and Configuration Guide. Product version: 6.1 Document version: 1.0 AXIGEN Mail Server Quick Installation and Configuration Guide Product version: 6.1 Document version: 1.0 Last Updated on: May 28, 2008 Chapter 1: Introduction... 3 Welcome... 3 Purpose of this document...

More information

Messages are printed to the info and debug files. Messages which cause an abort may have additional information in the debug file.

Messages are printed to the info and debug files. Messages which cause an abort may have additional information in the debug file. Messages Messages are printed to the info and debug files. Messages which cause an abort may have additional information in the debug file. Error: ActionFile CheckAccounts argument cannot be null.

More information

MassTransit 6.0 Enterprise Web Configuration For Windows

MassTransit 6.0 Enterprise Web Configuration For Windows MassTransit 6.0 Enterprise Web Configuration For Windows November 7, 2008 Group Logic, Inc. 1100 North Glebe Road, Suite 800 Arlington, VA 22201 Phone: 703-528-1555 Fax: 703-528-3296 E-mail: [email protected]

More information

Bienvenido master jedi

Bienvenido master jedi 18-06-12 Prueba del servidor Bienvenido master jedi El servidor tiene las siguientes caracteristicas PHP Version 5.3.10 1ubuntu3.1 System Linux 3.2.0 25 generic pae #40 Ubuntu SMP Wed May 23 22:11:24

More information

Installing OptiRain Open on Macintosh OS X 10.6 (Snow Leopard)

Installing OptiRain Open on Macintosh OS X 10.6 (Snow Leopard) QUICKSMART Installing OptiRain Open on Macintosh OS X 10.6 (Snow Leopard) QuickSmart Development P.O. Box 3689 Santa Clara, CA 95055 408-777-0944 www.quicksmart.com OptiRain Open provides local scheduling

More information

Top 10 Web Application Security Vulnerabilities - with focus on PHP

Top 10 Web Application Security Vulnerabilities - with focus on PHP Top 10 Web Application Security Vulnerabilities - with focus on PHP Louise Berthilson Alberto Escudero Pascual 1 Resources The Top 10 Project by OWASP www.owasp.org/index.php/owasp_top_ten_project

More information

Installation Instructions

Installation Instructions Installation Instructions 25 February 2014 SIAM AST Installation Instructions 2 Table of Contents Server Software Requirements... 3 Summary of the Installation Steps... 3 Application Access Levels... 3

More information

1Intro. Apache is an open source HTTP web server for Unix, Apache

1Intro. Apache is an open source HTTP web server for Unix, Apache Apache 1Intro Apache is an open source HTTP web server for Unix, Microsoft Windows, Macintosh and others, that implements the HTTP / 1.1 protocol and the notion of virtual sites. Apache has amongst other

More information

Moving to Plesk Automation 11.5

Moving to Plesk Automation 11.5 Moving to Plesk Automation 11.5 Last updated: 2 June 2015 Contents About This Document 4 Introduction 5 Preparing for the Move 7 1. Install the PA Moving Tool... 8 2. Install Mail Sync Software (Windows

More information

MassTransit 6.0 Enterprise Web Configuration for Macintosh OS 10.5 Server

MassTransit 6.0 Enterprise Web Configuration for Macintosh OS 10.5 Server MassTransit 6.0 Enterprise Web Configuration for Macintosh OS 10.5 Server November 6, 2008 Group Logic, Inc. 1100 North Glebe Road, Suite 800 Arlington, VA 22201 Phone: 703-528-1555 Fax: 703-528-3296 E-mail:

More information

Using Webmin and Bind9 to Setup DNS Sever on Linux

Using Webmin and Bind9 to Setup DNS Sever on Linux Global Open Versity Systems Integration Hands-on Labs Training Manual Using Webmin and Bind9 to Setup DNS Sever on Linux By Kefa Rabah, [email protected] March 2008 Installing and Configuring

More information

qliqdirect Active Directory Guide

qliqdirect Active Directory Guide qliqdirect Active Directory Guide qliqdirect is a Windows Service with Active Directory Interface. qliqdirect resides in your network/server and communicates with qliqsoft cloud servers securely. qliqdirect

More information

Criteria for web application security check. Version 2015.1

Criteria for web application security check. Version 2015.1 Criteria for web application security check Version 2015.1 i Content Introduction... iii ISC- P- 001 ISC- P- 001.1 ISC- P- 001.2 ISC- P- 001.3 ISC- P- 001.4 ISC- P- 001.5 ISC- P- 001.6 ISC- P- 001.7 ISC-

More information

Installation Guide for WebSphere Application Server (WAS) and its Fix Packs on AIX V5.3L

Installation Guide for WebSphere Application Server (WAS) and its Fix Packs on AIX V5.3L Installation Guide for WebSphere Application Server (WAS) and its Fix Packs on AIX V5.3L Introduction: This guide is written to help any person with little knowledge in AIX V5.3L to prepare the P Server

More information

Introduction à OpenSSH

Introduction à OpenSSH Rémi Laurent [email protected] http://www.fsugar.be/ 12 avril 2008 OpenSSH? Open Secure SHell Shell (ligne de commande) distant alternative au logiciel SSH de Tatu Ylönen développé par le projet OpenBSD

More information

Hardening Joomla 1. HARDENING PHP. 1.1 Installing Suhosin. 1.2 Disable Remote Includes. 1.3 Disable Unneeded Functions & Classes

Hardening Joomla 1. HARDENING PHP. 1.1 Installing Suhosin. 1.2 Disable Remote Includes. 1.3 Disable Unneeded Functions & Classes 1. HARDENING PHP Hardening Joomla 1.1 Installing Suhosin Suhosin is a PHP Hardening patch which aims to protect the PHP engine and runtime environment from common exploits, such as buffer overflows in

More information

Overview of Web Services API

Overview of Web Services API 1 CHAPTER The Cisco IP Interoperability and Collaboration System (IPICS) 4.5(x) application programming interface (API) provides a web services-based API that enables the management and control of various

More information

http://cnmonitor.sourceforge.net CN=Monitor Installation and Configuration v2.0

http://cnmonitor.sourceforge.net CN=Monitor Installation and Configuration v2.0 1 Installation and Configuration v2.0 2 Installation...3 Prerequisites...3 RPM Installation...3 Manual *nix Installation...4 Setup monitoring...5 Upgrade...6 Backup configuration files...6 Disable Monitoring

More information

debops.postfix documentation

debops.postfix documentation debops.postfix documentation Release master DebOps Project February 18, 2015 Contents 1 Introduction 1 1.1 Features.................................................. 1 2 Installation 3 2.1 Role dependencies............................................

More information

PostfixAdmin 3.0. Mailserver administration made easy. Christian Boltz

PostfixAdmin 3.0. Mailserver administration made easy. Christian Boltz PostfixAdmin 3.0 Mailserver administration made easy Christian Boltz [email protected] listen What is PostfixAdmin? Web interface to manage your mailserver: domains mailboxes aliases (forwarding) alias

More information

LICENSE4J LICENSE MANAGER USER GUIDE

LICENSE4J LICENSE MANAGER USER GUIDE LICENSE4J LICENSE MANAGER USER GUIDE VERSION 4.5.5 LICENSE4J www.license4j.com Table of Contents Getting Started... 4 Managing Products... 6 Create Product... 6 Edit Product... 7 Refresh, Delete Product...

More information

FileMaker Server 9. Custom Web Publishing with PHP

FileMaker Server 9. Custom Web Publishing with PHP FileMaker Server 9 Custom Web Publishing with PHP 2007 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker,

More information

Embedded Document Accounting Solution (edas) for Cost Recovery. Administrator's Guide

Embedded Document Accounting Solution (edas) for Cost Recovery. Administrator's Guide Embedded Document Accounting Solution (edas) for Cost Recovery Administrator's Guide September 2013 www.lexmark.com Contents 2 Contents Overview...4 Getting started...5 Understanding installation requirements...5

More information

FTP, IIS, and Firewall Reference and Troubleshooting

FTP, IIS, and Firewall Reference and Troubleshooting FTP, IIS, and Firewall Reference and Troubleshooting Although Cisco VXC Manager automatically installs and configures everything you need for use with respect to FTP, IIS, and the Windows Firewall, the

More information

Sophos Mobile Control Web service guide

Sophos Mobile Control Web service guide Sophos Mobile Control Web service guide Product version: 3.5 Document date: July 2013 Contents 1 About Sophos Mobile Control... 3 2 Prerequisites... 4 3 Server-side implementation... 5 4 Client-side implementation...

More information

AJ Matrix V5. Installation Manual

AJ Matrix V5. Installation Manual AJ Matrix V5 Installation Manual AJ Square Consultancy Services (p) Ltd., The Lord's Garden, #1-12, Vilacheri Main Road, Vilacheri, Madurai-625 006.TN.INDIA, Ph:+91-452-3917717, 3917790. Fax : 2484600

More information

Managing rights in PostgreSQL

Managing rights in PostgreSQL Table des matières Managing rights in PostgreSQL...3 1 The author...3 2 Introduction...4 3 Users, groups and roles...4 3.1 Users and groups...5 3.2 Modifying a role...5 4 Special roles and role attributes...5

More information

Version 1.6. MDweb installation and configuration (scripts databases) Windows Platform. 1.3 Authors: Jean Christophe Desconnets (jcd@teledetection.

Version 1.6. MDweb installation and configuration (scripts databases) Windows Platform. 1.3 Authors: Jean Christophe Desconnets (jcd@teledetection. Version 1.6 MDweb installation and configuration (scripts databases) Windows Platform Version Comments 1 Authors : Jean Christophe Desconnets ([email protected]) Translation : Kim Agrawal ([email protected])

More information

SCOPTEL WITH ACTIVE DIRECTORY USER DOCUMENTATION

SCOPTEL WITH ACTIVE DIRECTORY USER DOCUMENTATION SCOPTEL WITH ACTIVE DIRECTORY USER DOCUMENTATION Table of content ScopTel with Active Directory... 3 Software Features... 3 Software Compatibility... 3 Requirements... 3 ScopTel Configuration... 4 Prerequisites...

More information

Getting Started - The Control Panel

Getting Started - The Control Panel Table of Contents 1. Getting Started - the Control Panel Login Navigation Bar Domain Limits Domain User Account Properties Session Management 2. FTP Management Creating and Editing Users Accessing FTP

More information

Spam fighting with Postfix

Spam fighting with Postfix Spam fighting with Postfix Using technology to fight a social problem Devdas Bhagat Postfix Antispam workshop: Apricot 2004 p. 1 Introduction Postfix in the anti spam war "If you think technology can solve

More information

End User Guide The guide for email/ftp account owner

End User Guide The guide for email/ftp account owner End User Guide The guide for email/ftp account owner ServerDirector Version 3.7 Table Of Contents Introduction...1 Logging In...1 Logging Out...3 Installing SSL License...3 System Requirements...4 Navigating...4

More information

RoboMail Mass Mail Software

RoboMail Mass Mail Software RoboMail Mass Mail Software RoboMail is a comprehensive mass mail software, which has a built-in e-mail server to send out e-mail without using ISP's server. You can prepare personalized e-mail easily.

More information

What is included in the ATRC server support

What is included in the ATRC server support Linux Server Support Services What is included in the ATRC server support Installation Installation of any ATRC Supported distribution Compatibility with client hardware. Hardware Configuration Recommendations

More information

FileMaker Server 12. Custom Web Publishing with PHP

FileMaker Server 12. Custom Web Publishing with PHP FileMaker Server 12 Custom Web Publishing with PHP 2007 2012 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks

More information

CC ICT-SUD. Setting up and integrate Apache, MySQL and PHP on a Linux system

CC ICT-SUD. Setting up and integrate Apache, MySQL and PHP on a Linux system LAMP CC ICT-SUD Setting up and integrate Apache, MySQL and PHP on a Linux system Installation Simple Alternative (for development/testing only): Xampp I will assume MySQL is already installed and configured

More information

USING MYWEBSQL FIGURE 1: FIRST AUTHENTICATION LAYER (ENTER YOUR REGULAR SIMMONS USERNAME AND PASSWORD)

USING MYWEBSQL FIGURE 1: FIRST AUTHENTICATION LAYER (ENTER YOUR REGULAR SIMMONS USERNAME AND PASSWORD) USING MYWEBSQL MyWebSQL is a database web administration tool that will be used during LIS 458 & CS 333. This document will provide the basic steps for you to become familiar with the application. 1. To

More information

PHP Version 5.3.29. http://development.koeselbuch.com/de/admin/reports/status/php#overl... 1 von 22 11.11.2015 09:52

PHP Version 5.3.29. http://development.koeselbuch.com/de/admin/reports/status/php#overl... 1 von 22 11.11.2015 09:52 1 von 22 11.11.2015 09:52 PHP Version 5.3.29 System SunOS localhost 5.10 Generic_142901-13 i86pc Build Date Sep 28 2015 16:45:45 Configure Command Server API Virtual Directory Support Configuration File

More information

I N S T A L L A T I O N M A N U A L

I N S T A L L A T I O N M A N U A L I N S T A L L A T I O N M A N U A L 2015 Fastnet SA, St-Sulpice, Switzerland. All rights reserved. Reproduction in whole or in part in any form of this manual without written permission of Fastnet SA is

More information

and Active Directory Adding, Changing and Deleting Accounts, Compiling Addresses for Mail Lists

and Active Directory Adding, Changing and Deleting Accounts, Compiling Addresses for Mail Lists and Active Directory Adding, Changing and Deleting Accounts, Compiling Addresses for Mail Lists, Ltd. 2550 SW Grapevine Parkway Gapevine, TX 76051 Tel: (817) 601-3222 http://www.altn.com Copyright 2006.

More information

Administration Guide. . All right reserved. For more information about Specops Password Sync and other Specops products, visit www.specopssoft.

Administration Guide. . All right reserved. For more information about Specops Password Sync and other Specops products, visit www.specopssoft. Administration Guide. All right reserved. For more information about Specops Password Sync and other Specops products, visit www.specopssoft.com Copyright and Trademarks Specops Password Sync is a trademark

More information

CipherMail Gateway Installation Guide

CipherMail Gateway Installation Guide CIPHERMAIL EMAIL ENCRYPTION CipherMail Gateway Installation Guide March 26, 2015, Rev: 9094 Copyright c 2008-2015, ciphermail.com. Acknowledgments: Thanks goes out to Andreas Hödle for feedback and input

More information

Advanced Web Security, Lab

Advanced Web Security, Lab Advanced Web Security, Lab Web Server Security: Attacking and Defending November 13, 2013 Read this earlier than one day before the lab! Note that you will not have any internet access during the lab,

More information

Configuring. Moodle. Chapter 82

Configuring. Moodle. Chapter 82 Chapter 82 Configuring Moodle The following is an overview of the steps required to configure the Moodle Web application for single sign-on (SSO) via SAML. Moodle offers SP-initiated SAML SSO only. 1 Prepare

More information

Server Installation/Upgrade Guide

Server Installation/Upgrade Guide Server Installation/Upgrade Guide System Version 3.8 2001-2009 Echo 360, Inc. Echo360 is a trademark of Echo360, Inc. Echo360 is a registered trademark of Echo360 Inc. in Australia. All other trademarks

More information