webservice/docs/README.txt

180 lines
5.1 KiB
Plaintext
Raw Normal View History

2010-08-30 09:49:44 +02:00
README
======
2010-09-06 15:37:30 +02:00
Le webservice est basé sur le ZendFramework pour générer les WSDLs.
2010-08-30 09:49:44 +02:00
2011-03-17 16:05:49 +01:00
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
2010-09-06 15:37:30 +02:00
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
2010-09-06 15:37:30 +02:00
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
2010-09-06 15:37:30 +02:00
Pour définir le mode (vhost d'apache)
SetEnv APPLICATION_ENV "development"
SetEnv APPLICATION_ENV "production"
2010-09-09 11:15:13 +02:00
SetEnv APPLICATION_ENV "staging"
2010-09-06 15:37:30 +02:00
En appelant l'url http://hostname/service, le contoller de l'application,
"service" est automatiquement utiliser.
2010-09-09 11:15:13 +02:00
Tout ce qui est visible dans la class est utilisé par le controller et se
retrouve visible dans le service (wsdl, requête)
2010-09-06 15:37:30 +02:00
Si des fonctions ne doivent pas être rendu visible il faut donc les séparer
dans un autre controller utilisant une autre class.
2012-08-30 16:11:56 +02:00
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
2010-09-06 15:37:30 +02:00
2012-08-30 16:11:56 +02:00
Pour spécifier des éléments de taille (non pris en compte sur le WSDL)
@xsd minLength=9
@xsd maxLength=15
2010-12-16 15:59:43 +01:00
Configuration PHP
=================
2012-08-01 18:14:55 +02:00
apt-get install php5-mysql
apt-get install php-apc
apt-get install php5-curl
2012-08-30 16:11:56 +02:00
apt-get install php5-xmlrpc
2010-12-16 15:59:43 +01:00
Paquet PEAR
- Mail
- Mail_Mime
2012-08-01 18:14:55 +02:00
WKHTMLTOPDF
===========
apt-get install libXrender1
apt-get install libfontconfig
2010-09-06 15:37:30 +02:00
Configuration VHOST
===================
2012-08-01 18:14:55 +02:00
a2enmod rewrite
2010-08-30 09:49:44 +02:00
Exemple de vhost en mode développement
<VirtualHost *:80>
ServerName scoresws.sd.dev
AddDefaultCharset utf-8
2011-12-08 17:13:22 +01:00
# Pour la gestion des ports : $_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT']
UseCanonicalName On
UseCanonicalPhysicalPort On
2010-10-29 15:23:01 +02:00
DocumentRoot "D:/www/webservice/public"
2010-08-30 09:49:44 +02:00
SetEnv APPLICATION_ENV "development"
2010-10-29 15:23:01 +02:00
<Directory "D:/www/webservice/public/">
2010-08-30 09:49:44 +02:00
DirectoryIndex index.php
AllowOverride All
Order allow,deny
2011-08-24 12:15:48 +02:00
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>
2010-08-30 09:49:44 +02:00
</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
2011-12-08 17:13:22 +01:00
# 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/>
2010-10-29 15:23:01 +02:00
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
<IfModule mod_rewrite.c>
RewriteEngine On
2011-12-08 17:13:22 +01:00
RewriteCond %{REQUEST_URI} ^/favicon.ico$ [OR]
2010-10-29 15:23:01 +02:00
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>
2010-09-06 15:37:30 +02:00