Go to file
2013-11-12 12:36:13 +00:00
application issue #0001775: add ability to search with siren, raisonSociale, numero, voie, cpVille, telFax, naf. 2013-11-12 12:36:13 +00:00
data/pages/themes/default/styles Move Finance Library and make it compatible with autoloading 2013-10-16 15:30:14 +00:00
docs Solve bug after the release in staging 2013-11-06 08:37:55 +00:00
library issue #0001775: add ability to search with siren, raisonSociale, numero, voie, cpVille, telFax, naf. 2013-11-12 12:36:13 +00:00
public issue #0001775: add ability to search with siren, raisonSociale, numero, voie, cpVille, telFax, naf. 2013-11-12 12:36:13 +00:00
scripts Remove the use of WDate 2013-10-28 16:19:06 +00:00

README
======

 - System Requirements
 - Installation
 - Project
 - Library

Note : Project are define to be use on Linux Server, so take care about path and file name. 
 Also some script (CLI) don't work on Windows.


SYSTEM REQUIREMENTS
===================

 - Apache 2.2
 - PHP 5.3.x
 - APC
 - Chartdir library
 - browscap.ini (http://tempdownloads.browserscap.com/, http://browscap.org/)
 - wkhtmltopdf (http://code.google.com/p/wkhtmltopdf/)


INSTALLATION
============

See the file scripts/build/configure.php

On server this script is automatically called with the install option.
	configure.php --install

Each servers are reference with a directory, name as the hostname, in config dir and all configure 
file is list here


Environment configuration
-------------------------

 - Variables
 	
 Define application environment in the vhost. This mode activate special features and debugging mode.

	SetEnv APPLICATION_ENV "production" => Production
	SetEnv APPLICATION_ENV "staging" => Recette
	SetEnv APPLICATION_ENV "development" => Developpement
 
 - Static/Global Storage 
	
	data/asso
	data/association
	data/bilanclient
	data/bodacc
	data/courrier
	data/giant
	data/greffes
	data/groupes
	data/iris
	data/log
	data/logos
	data/marques
	data/nouveautes
	data/wkhtml
 
 
 - Temporary storage
	 
	 [projet]/data/
		cache
		files
		infogreffe
		log
		pages
		rss
		sessions
		wsdl
		

Apache configuration
--------------------

	=> Development example

	<VirtualHost *:80>
		ServerName extranet.sd.dev
		AddDefaultCharset utf-8
		DocumentRoot "WORKSPACE/extranet/public"	
		SetEnv APPLICATION_ENV "development"		
		<Directory "WORKSPACE/extranet/public/">
			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/extranet-error.log"
		CustomLog "logs/extranet-access.log" common
	</VirtualHost>

	=> Production configuration 
		
		See VHOST file


PHP Configuration
-----------------

File upload 
-----------
    post_max_size = 50M
    file_uploads = On
    upload_max_filesize = 40M
    max_file_uploads = 10

Session
-------
	On sharing plateform, these parameters must be specified to the best value for all web application

    session.gc_maxlifetime = 86400
    session.cookie_lifetime = 86400

	Application must override the session.save_path, soap.wsdl_cache_dir to define it's own path.


WKHTMLTOPDF
-----------
	- Get the static version of wkhtmltopdf
	- On Ubuntu : 
		sudo apt-get install libxrender1 libfontconfig
	- Set execution flag (chmod +x)
	- Test 

WebService 
----------


Partners 
--------




PROJECT
=======
	
	This application is a frontend for the WebService and it's display information graphically.


LIBRARY
=======













Gestion des sessions
====================
Pour la gestion des sessions, il est nécessaire de faire une configuration spéciale afin d'éviter 
les conflits entre les différents vhosts.

Les sessions sont stockées dans le même repertoire, les valeurs gc_maxlifetime, cookie_lifetime 
définissent les limites de validité des sessions.
Il faut savoir que chaque modification faites par chaque application, dans chaque vhosts modifie le 
fonctionnement général de PHP.
Pour eviter d'avoir des conflits sur la gestion des sessions, nous stockons les sessions dans un 
répertoire définit.

Voir la configuration dans le fichier application.ini

resources.session.save_path = APPLICATION_PATH "/../cache/sessions"
resources.session.gc_maxlifetime = 86400
resources.session.cookie_lifetime = 86400
resources.session.remember_me_seconds = 86400

Debuggage
=================
Firebug et ChromePHP sont disponible.
Voir dans le fichier Bootstrap pour activer ou non le debuggage.

CONFIGURATION APC
=================
apc.cache_by_default = On
apc.enable_cli = Off
apc.enabled = On
apc.shm_size = 60
apc.max_file_size = 1M
apc.include_once_override = On
apc.stat = Off
apc.stat_ctime = Off

apc.shm_size : Taille du cache en Mo.
apc.num_files_hint : La valeur du nombre maximum de fichiers à cacher est conseillée.
apc.user_entries_hint : La valeur du nombre maximum d'entrées utilisateur 
(cache utilisateur) à stocker est conseillée.

Il n'est pas conseillé de tenter de leurrer APC en doublant (par exemple) 
ces valeurs. APC double déja en interne les valeurs spécifiées, et le gain en 
performances est fortement réduit avec des valeurs non adaptées. 

apc.stat : Se base sur les dates de modifications pour recharger le fichier
apc.stat_ctime : Se base sur les dates de création pour recharger le fichier

apc.max_file_size : Restriction sur la taille maximum d'un fichier à cacher. 
Ceci peut créer des problèmes de performance lors de la demande en cache de ces 
fichiers-là, mais si la mémoire est limitée, l'option demeure intéressante

apc.filters : Expression régulière utilisée pour exclure tout fichier dont le 
nom a une correspondance.

apc.cache_by_default : Inverse la tendance de apc.filters : APC cachera 
uniquement les fichiers qui ont une correspondance sur le filtre, au lieu de les ignorer.

apc.cache_by_default = Off
apc.filters = "+\.php$"

Dans le vhosts d'apache : 
php_flag apc.cache_by_default On