Go to file
2012-08-03 19:23:35 +00:00
application Correction suite à mise en production 2012-07-06 09:12:23 +00:00
batch Init array 2012-08-01 15:51:36 +00:00
config Correct database parameters 2012-07-16 09:40:40 +00:00
docs Ajout documentation 2012-08-03 19:23:35 +00:00
library issue #0001245 : Ajout droit LIASSEXLS 2012-07-26 10:02:10 +00:00
public Update jQuery to version 1.7.2 2012-06-26 09:31:59 +00:00

README
======
Le webservice est basé sur le ZendFramework pour générer les WSDLs.

Fichier de configuration
========================
La configuration est décomposé en plusieurs fichiers,
avec adaptation suivant la machine
- mysql.php 
- smtp.php
- sphinx.php
- stockage.php

sans adaptation suivant la machine
- partenaires.php 

Fonctionnement
==============
Obtenir les WSDL 
Pour le service Entreprise

	- En mode développement : http://hostname/entreprise/version?wsdl-auto
	- Générer le WSDL : http://hostname/entreprise/version?wsdl-generate
	- Utiliser le WSDL généré : http://hostname/entreprise/version?wsdl

Pour le service Interne

	http://hostname/interne/version?wsdl

Pour les clients

	http://hostname/clients/nom_du_client/version?wsdl

N.B : Le fichier WSDL est généré automatiquement en appelant 
http://hostname/service?wsdl afin de ne pas provoquer d'erreur 
après une mise en production

Pour définir le mode (vhost d'apache)
	SetEnv APPLICATION_ENV "development"
	SetEnv APPLICATION_ENV "production"
	SetEnv APPLICATION_ENV "staging"
	
En appelant l'url http://hostname/service, le contoller de l'application, 
"service" est automatiquement utiliser. 
Tout ce qui est visible dans la class est utilisé par le controller et se 
retrouve visible dans le service (wsdl, requête)

Si des fonctions ne doivent pas être rendu visible il faut donc les séparer 
dans un autre controller utilisant une autre class.

 
Documentation des méthodes et ajout spécial
===========================================

La documentation est géneré en automatique.

Voici comment définir simplement la documentation d'une méthode

    /**
     * Retourne les informations identitaires de l'entreprise ou de l'établissement demandé
     * @param   string    $key      Siren de l'entreprise ou siret de l'établissement
     * @return  Identite
     */
    public function test($key)
    {
    
    }

Attention ces informations servent aussi pour la structure du WSDL

Pour spécifier un lien vers un fichier ou pour générer un fichier depuis une 
requête SQL à partir de la documentation du service.
Ajouter dans le docblock :
 - Pour un fichier
	@ref fichier:libellé:{nom_du_fichier.ext}
 - Pour une requête SQL
	@ref mysql:libellé:{nom_du_fichier.sql}
	
Les fichiers a télécharger sont à placer dans le répértoire public/fichier et
les fichiers sql dans public/sql	

Pour spécifier des éléments de taille (non pris en compte sur le WSDL)
    @xsd minLength=9
    @xsd maxLength=15

Configuration PHP 
=================

Paquet PEAR
- Mail
- Mail_Mime
	
Configuration VHOST
===================

Exemple de vhost en mode développement

<VirtualHost *:80>
    ServerName scoresws.sd.dev
	AddDefaultCharset utf-8
	
	# Pour la gestion des ports : $_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT']
	UseCanonicalName On
    UseCanonicalPhysicalPort On
	
	DocumentRoot "D:/www/webservice/public"	
	SetEnv APPLICATION_ENV "development"
	<Directory "D:/www/webservice/public/">
		DirectoryIndex index.php
		AllowOverride All
        Order allow,deny
        Allow from all 
        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{REQUEST_URI} ^/favicon.ico$ [OR]
            RewriteCond %{REQUEST_FILENAME} -s [OR]
            RewriteCond %{REQUEST_FILENAME} -l [OR]
            RewriteCond %{REQUEST_FILENAME} -d
            RewriteRule ^.*$ - [NC,L]
			RewriteRule ^.*$ index.php [NC,L]
		</IfModule> 
	</Directory>
	
	# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
    LogLevel debug
    ErrorLog "logs/scoresws.sd.dev-error.log"
    CustomLog "logs/scoresws.sd.dev-access.log" common
</VirtualHost>


Vhost réel

<VirtualHost *:8081>
        ServerName wse.scores-decisions.com
        ServerAlias wse1.scores-decisions.com
        
        # Pour la gestion des ports : $_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT']
		UseCanonicalName On
	    UseCanonicalPhysicalPort On
        
        ServerSignature Off
        AddDefaultCharset utf-8
        DocumentRoot /home/vhosts/webservice/public
        SetEnv APPLICATION_ENV "production"
        <Directory /home/vhosts/webservice/public/>
            DirectoryIndex index.php
            AllowOverride All
        	Order allow,deny
        	Allow from all
        	<IfModule mod_rewrite.c>
                RewriteEngine On
                RewriteCond %{REQUEST_URI} ^/favicon.ico$ [OR]                
                RewriteCond %{REQUEST_FILENAME} -s [OR]
                RewriteCond %{REQUEST_FILENAME} -l [OR]
                RewriteCond %{REQUEST_FILENAME} -d
                RewriteRule ^.*$ - [NC,L]
            	RewriteRule ^.*$ index.php [NC,L]
			</IfModule>
        </Directory>

        # Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
        LogLevel error
        ErrorLog /var/log/apache2/webservice-error.log
        CustomLog /var/log/apache2/webservice-access.log common
</VirtualHost>